E-learning backend application project developed with NestJS.
Features:
- Course Management
- Blog Management
- Quiz Management
- Category
- Tag
- Course Bookmark
- Course Review
- User Management
- AI powered content editor
- Dark mode support
- Subscription
Front-end website repository => E-learning website
- Node.js 16 or later
- PostgreSQL 16 or later
- Firebase auth setup
This project use Firebase auth as authentication layer. So, you first need to setup firebase auth and manually create one owner account. Or you can use any other authentication providers like AWS Cognito, Auth0 etc., and setup accordingly.
Required .env.local
file properties.
# database config
DB_NAME=
DB_HOST=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=
FIREBASE_SERVICE_ACCOUNT=/path/to/firebase-serviceaccount.json
JWK_SET_URI=https://www.googleapis.com/service_accounts/v1/jwk/securetoken%40system.gserviceaccount.com
ISSUER_URI=https://securetoken.google.com/<your-project-id>
# for storing uploaded image (e.g, /var/www/html/images)
IMAGE_PATH=<image-base-path>
IMAGE_URL=(http|https)://<your-domain>/images
# for owner account
SUPER_USER_ID= # The one you created from firebase auth
SUPER_USER_NAME= # Your preferred name
Installing dependencies
$ npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
You can explore api docs via path http://localhost:3080/api-docs
.