Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phyohtetarkar/hope-elearning-backend
E-learning backend project using NestJS.
https://github.com/phyohtetarkar/hope-elearning-backend
backend e-learning elearning expressjs nestjs nestjs-backend nodejs typescript
Last synced: 2 days ago
JSON representation
E-learning backend project using NestJS.
- Host: GitHub
- URL: https://github.com/phyohtetarkar/hope-elearning-backend
- Owner: phyohtetarkar
- License: mit
- Created: 2024-03-18T07:11:20.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-09-13T15:23:56.000Z (5 months ago)
- Last Synced: 2024-09-14T22:36:18.448Z (5 months ago)
- Topics: backend, e-learning, elearning, expressjs, nestjs, nestjs-backend, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 5.11 MB
- Stars: 19
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# E-learning backend
E-learning backend application project developed with [NestJS](https://nestjs.com/).
**Features**:
- - [x] Course Management
- - [x] Blog Management
- - [x] Quiz Management
- - [x] Category
- - [x] Tag
- - [x] Course Bookmark
- - [x] Course Review
- - [x] User Management
- - [x] AI powered content editor
- - [x] Dark mode support
- - [ ] Subscription
**Front-end website repository** => [E-learning website](https://github.com/phyohtetarkar/hope-elearning-web/)
## Requirements
- Node.js 16 or later
- PostgreSQL 16 or later
- Firebase auth setup
## Installation and 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.
```ini
# 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/
# for storing uploaded image (e.g, /var/www/html/images)
IMAGE_PATH=
IMAGE_URL=(http|https):///images
# for owner account
SUPER_USER_ID= # The one you created from firebase auth
SUPER_USER_NAME= # Your preferred name
```
Installing dependencies
```bash
$ npm install
```
## Running the app
```bash
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
```
## Test
```bash
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
```
## REST APIs
You can explore api docs via path `http://localhost:3080/api-docs`.
## Support me
## Screenshots