Skip to content

The back-end of Lumeno is built with Node.js, Express, and MongoDB, featuring JWT authentication, role-based access, and secure API endpoints for managing users, study sessions, and resources. πŸš€

Notifications You must be signed in to change notification settings

salmanfxrsi/lumeno-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Lumeno Backend

Lumeno is a platform designed to manage and streamline various educational resources, including sessions, notes, reviews, and materials. This repository provides the backend API built using Node.js and MongoDB, offering CRUD operations for all entities on the platform.


πŸ”— Frontend Repository Link

Frontend Repository of Lumeno can be accessed here.


Table of Contents


Technologies Used

  • Node.js: JavaScript runtime for server-side scripting.
  • Express.js: Web framework for building RESTful APIs.
  • MongoDB: NoSQL database for storing session, user, note, and review data.
  • Dotenv: Environment variable management.
  • CORS: Cross-Origin Resource Sharing for enabling access across different domains.
  • ObjectId: MongoDB's unique identifier for documents.

Environment Variables

  • DB_USER: Your MongoDB username.
  • DB_PASS: Your MongoDB password.

API Endpoints

Materials

  • GET /materials: Retrieve materials based on optional filters (tutorEmail, search, id).
  • POST /materials: Add a new material.
  • PATCH /materials/:id: Update a material by its id.
  • DELETE /materials/:id: Delete a material by its id.

Reviews

  • GET /reviews/:id: Retrieve reviews for a session by its id.
  • POST /reviews: Add a new review.

Notes

  • GET /notes: Retrieve notes based on studentEmail and search.
  • POST /notes: Add a new note.
  • DELETE /notes/:id: Delete a note by its id.
  • PATCH /notes/:id: Update a note by its id.

Users

  • GET /users: Retrieve all users.
  • GET /tutors: Retrieve all tutors.
  • POST /users: Add a new user.
  • DELETE /users/:id: Delete a user by its id.
  • GET /users/role/:email: Retrieve the role of a user by their email.

Sessions

  • GET /sessions: Retrieve sessions based on optional filters (tutorEmail, search).
  • GET /sessions/:id: Retrieve a specific session by its id.
  • POST /sessions: Add a new session.
  • DELETE /sessions/:id: Delete a session by its id.
  • PATCH /sessions/status/:id: Update the status of a session.
  • PATCH /sessions/:id: Update a session by its id.

Booked Sessions

  • GET /booked-sessions: Retrieve booked sessions based on optional filters (studentEmail, search).
  • POST /booked-sessions: Add a new booked session.

Installation

  1. Clone this repository:
    git clone https://github.com/yourusername/lumeno-backend.git

About

The back-end of Lumeno is built with Node.js, Express, and MongoDB, featuring JWT authentication, role-based access, and secure API endpoints for managing users, study sessions, and resources. πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published