This is the backend server for the Udemy Tracker Application, built using Node.js, Express.js, and MongoDB. It manages course data, tracks progress, and syncs updates between local IndexedDB and MongoDB Cloud.
- RESTful API for managing Udemy courses.
- Integration with Udemy API for course data retrieval.
- CRUD operations for courses and notes.
- Local storage syncing with MongoDB Cloud.
- IndexedDB for offline-first support.
- Scalable backend using Node.js and Express.js.
- Getting Started
- Prerequisites
- Installation
- Environment Variables
- Usage
- API Endpoints
- Folder Structure
- Contributing
- License
Follow these instructions to set up and run the project locally.
Make sure you have the following installed:
- Node.js (v16 or higher)
- MongoDB Atlas account for cloud database setup
- Udemy Client API credentials
-
Clone the repository:
git clone https://github.com/your-username/udemy-tracker-backend.git cd udemy-tracker-backend -
Install dependencies:
npm install
-
Create a
.envfile and configure it as per the Environment Variables section. -
Start the development server:
npm run dev
-
The server will run at
http://localhost:5000by default.
Create a .env file in the root directory and configure the following:
PORT=5000
MONGO_URI=your-mongodb-atlas-uri- Retrieve Udemy courses and sync them with MongoDB.
- Manage course notes, progress, and categories.
- Sync updates between IndexedDB and MongoDB.
Contributions are welcome! Feel free to open issues or submit pull requests to improve the project.
This project is licensed under the MIT License - see the LICENSE file for details.