TeachMe API
Overview
TeachMe is an API designed to facilitate communication and interaction between students, teachers, and parents within an educational environment. This API empowers teachers to create courses, tests, and classrooms, while enabling students to study and allowing parents to manage student accounts.
Features
User Roles: The API supports multiple user roles, including students, teachers, and parents, each with their own set of permissions and functionalities.
Authentication and Authorization: Secure authentication and authorization mechanisms are implemented to ensure that only authorized users can access specific features and data.
User Profiles: Users can create and manage their profiles, including personal information and preferences.
Courses Management: Teachers can create, update, and delete courses. Each course can contain various educational materials and resources.
Tests Creation: Teachers have the ability to create tests, quizzes, or assessments for their courses. These tests can be assigned to specific students or classes.
Classroom Creation: Teachers can create virtual classrooms where they can conduct lectures, discussions, and other educational activities. Students can join these classrooms to participate in learning sessions.
Study Materials: Students have access to study materials, including lecture notes, presentations, and additional resources provided by teachers.
Parental Management: Parents can manage their children's accounts, including monitoring their progress, viewing grades, and communicating with teachers.
Technologies Used Node.js: The backend of the API is built using Node.js, providing a scalable and efficient platform for handling HTTP requests and responses.
Express.js: Express.js is utilized to streamline the development of the API by providing a robust framework for building RESTful APIs.
MongoDB: MongoDB serves as the database management system, storing user data, course information, test results, and other relevant data.
JWT (JSON Web Tokens): JWT is used for secure authentication and authorization, ensuring that only authenticated users can access protected resources.
Mongoose: Mongoose is an Object Data Modeling (ODM) library for MongoDB and Node.js, simplifying interactions with the MongoDB database.
Getting Started To run the TeachMe API locally, follow these steps:
Clone the repository from GitHub. Install dependencies using npm or yarn. Set up environment variables for database connection and JWT secret. Run the application using npm start or yarn start. Access the API endpoints using a tool like Postman or through a frontend application.