π An education app for students that offers interactive lessons, quizzes, study tools, and resources to help students for improving their academic grades.
- π± Mobile friendly
- π Content Management System (CMS)
β οΈ Robust error handling- πΈ File upload functionality
- π Authentication and Authorization
- π MongoDB database and Mongoose ORM.
- π²Payment system integration
# Clone repo
$ git clone https://github.com/MahmoudSerag/education-app.git
# Access repo director
$ cd education-app
# Install required dependencies
$ npm install
# Import data to the database
$ npm run data:import
# Destroy data from the database
$ npm run data:destroy
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
-
PORT
: Enter port number (e.g.3000
). -
MONGO_URI
: Enter your MongoDB connection URL (e.g.mongodb+srv://<username>:<password>@<cluster name>.0k0vtqz.mongodb.net/?retryWrites=true&w=majority
) -
NODE_ENV
:production
||development
-
CLIENT_DOMAIN_DEV
: Enter client domain url (e.g.http://localhost:5000
) -
CLIENT_DOMAIN_PRODUCTION
: (e.g.https://www.example.com
) -
JWT_EXPIRES_IN
: Enter expiration time (e.g.2d
) -
JWT_SECRET_KEY
: Enter your secret key (e.g.secret
) -
COOKIE_EXPIRES_IN
: Enter expiration time (e.g.2
days) -
PASSWORD_RESET_TOKEN_EXPIRES_IN
: Enter expiration time (e.g.2
) -
EMAIL_HOST
: smtp.gmail.com -
EMAIL_SENDER
: Enter your sender email -
EMAIL_PASSWORD
: Enter your password of sender email -
SWAGGER_SERVER_DEV
: (http://localhost:3000
) -
SWAGGER_SERVER_PRODUCTION
: (https://e-learning-j8bz.onrender.com/
) -
SWAGGER_TITLE
: (e.g.Education-App APIs Documentation
) -
SWAGGER_DESCRIPTION
: (e.g.Discover our concise and professional Swagger documentation, providing a comprehensive overview of our APIs
)
Mahmoud Serag π» |