Empowering Education Through Technology
Welcome to the Sarswati repository! This project serves as the backend for an educational platform designed to facilitate learning and teaching. Built using Node.js with Express and MongoDB, Sarswati provides a robust environment for students, instructors, and administrators.
Explore our Releases to download the latest version and get started.
- User Authentication: Secure login and registration for all users.
- Role Management: Different roles for students, instructors, and administrators.
- Course Management: Create, update, and manage courses easily.
- Payment Integration: Support for online payments through Razorpay.
- Email Notifications: Automatic emails for important updates using Nodemailer.
- OTP Verification: Generate and verify OTPs for enhanced security.
Sarswati leverages a variety of technologies to provide a seamless experience:
- Node.js: JavaScript runtime for building server-side applications.
- Express: Fast, unopinionated web framework for Node.js.
- MongoDB: NoSQL database for flexible data storage.
- Mongoose: ODM library for MongoDB and Node.js.
- Bcryptjs: Password hashing for secure authentication.
- Cookie-parser: Middleware for handling cookies.
- CORS: Middleware for enabling Cross-Origin Resource Sharing.
- Dotenv: Module for loading environment variables.
- Express-fileupload: Middleware for file uploads.
- JWT Authentication: Secure user authentication using JSON Web Tokens.
- Nodemailer: Module for sending emails.
- OTP Generation and Verification: Secure OTP handling for user verification.
- Razorpay API: Payment gateway integration for processing transactions.
- Render: Hosting platform for deploying the application.
To set up Sarswati on your local machine, follow these steps:
-
Clone the Repository
Open your terminal and run:git clone https://github.com/rezapamex/Sarswati.git cd Sarswati
-
Install Dependencies
Use npm to install the required packages:npm install
-
Set Up Environment Variables
Create a.env
file in the root directory and add the following variables:PORT=your_port MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret RAZORPAY_KEY=your_razorpay_key RAZORPAY_SECRET=your_razorpay_secret
-
Run the Application
Start the server with:npm start
Visit http://localhost:your_port
in your browser to access the application.
Once the application is running, you can:
- Register as a new user.
- Log in to access your dashboard.
- Create courses if you are an instructor.
- Enroll in courses as a student.
- Manage users if you are an administrator.
For detailed API documentation, refer to the API Docs.
We welcome contributions! To contribute to Sarswati:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For support, please open an issue in this repository or reach out to the maintainers.
- Releases: Check out our Releases for the latest updates and downloads.
- Documentation: For more details, visit our documentation section.
- Thank you to all contributors and supporters of this project.
- Special thanks to the creators of the libraries and frameworks used in this application.
Sarswati aims to enhance the educational experience for users through a robust backend system. Your feedback and contributions are invaluable as we continue to improve and expand this project.
Join us in empowering education through technology!
For more updates, keep an eye on our Releases section.