Skip to content

πŸŽ‰ An education app for students that offers interactive lessons, quizzes, study tools, and resources to help students for improving their academic grades.

License

Notifications You must be signed in to change notification settings

MahmoudSerag/education-app

Repository files navigation

Backend-Education-App

Unknown-Squad

NPM Version Package License PRs Welcome

Node.Js Nest.Js MongoDB TypeScript Swagger NPM

Description

πŸŽ‰ An education app for students that offers interactive lessons, quizzes, study tools, and resources to help students for improving their academic grades.

Database Design

Database design

Documentation

πŸ’₯ Features

  • πŸ“± Mobile friendly
  • πŸ“‹ Content Management System (CMS)
  • ⚠️ Robust error handling
  • πŸ“Έ File upload functionality
  • πŸ” Authentication and Authorization
  • πŸ“Š MongoDB database and Mongoose ORM.
  • πŸ’²Payment system integration

Installation

# Clone repo
$ git clone https://github.com/MahmoudSerag/education-app.git

# Access repo director
$ cd education-app

# Install required dependencies
$ npm install

Seed Database

# Import data to the database
$ npm run data:import

# Destroy data from the database
$ npm run data:destroy

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Environment variables

  1. PORT: Enter port number (e.g. 3000).

  2. MONGO_URI: Enter your MongoDB connection URL (e.g. mongodb+srv://<username>:<password>@<cluster name>.0k0vtqz.mongodb.net/?retryWrites=true&w=majority)

  3. NODE_ENV: production || development

  4. CLIENT_DOMAIN_DEV: Enter client domain url (e.g. http://localhost:5000)

  5. CLIENT_DOMAIN_PRODUCTION: (e.g. https://www.example.com)

  6. JWT_EXPIRES_IN: Enter expiration time (e.g. 2d)

  7. JWT_SECRET_KEY: Enter your secret key (e.g. secret)

  8. COOKIE_EXPIRES_IN: Enter expiration time (e.g. 2 days)

  9. PASSWORD_RESET_TOKEN_EXPIRES_IN: Enter expiration time (e.g. 2)

  10. EMAIL_HOST: smtp.gmail.com

  11. EMAIL_SENDER: Enter your sender email

  12. EMAIL_PASSWORD: Enter your password of sender email

  13. SWAGGER_SERVER_DEV: (http://localhost:3000)

  14. SWAGGER_SERVER_PRODUCTION: (https://e-learning-j8bz.onrender.com/)

  15. SWAGGER_TITLE: (e.g. Education-App APIs Documentation)

  16. SWAGGER_DESCRIPTION: (e.g. Discover our concise and professional Swagger documentation, providing a comprehensive overview of our APIs)

Contributors

Mahmoud Serag
Mahmoud Serag

πŸ’»

License

MIT licensed.

About

πŸŽ‰ An education app for students that offers interactive lessons, quizzes, study tools, and resources to help students for improving their academic grades.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published