Welcome to the Online Learning Platform! This project is a comprehensive e-learning application that allows users to enroll in courses, manage their learning progress, and interact with instructors and peers. The platform is built using modern web technologies to ensure a seamless and engaging user experience.
- User Authentication: Secure login and registration using JWT.
- Course Management: Browse, enroll, and manage courses.
- Shopping Cart: Add courses to the cart and proceed to checkout.
- Reviews and Ratings: Leave reviews and ratings for courses.
- Responsive Design: Optimized for both desktop and mobile devices.
- Frontend: Angular, TypeScript, HTML, CSS, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MySQL
- Authentication: JSON Web Tokens (JWT)
- Version Control: Git
To get a local copy up and running, follow these steps:
- Node.js and npm installed on your machine.
- MySQL installed and running.
-
Clone the repository:
git clone https://github.com/your-username/online-learning-platform.git cd online-learning-platform/backend
-
Install dependencies:
npm install
-
Create a
.env
file and add your environment variables:PORT=3002 MYSQL_HOST=your_mysql_host MYSQL_USER=your_mysql_user MYSQL_PASSWORD=*** MYSQL_DATABASE=***
-
Start the server:
npm start
-
Navigate to the frontend directory:
cd ../frontend
-
Install dependencies:
npm install
-
Start the development server:
npm start
- Open your browser and navigate to
http://localhost:4200
. - Register a new account or log in with existing credentials.
- Browse available courses and enroll in the ones you are interested in.
- Manage your learning progress and interact with other users through reviews and ratings.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Open a pull request.
For any inquiries or feedback, please contact us at:
- Email: [email protected]
- GitHub: Tmimi_Ines