Skip to content

WGS Absence Repository for Backend Services. Powered by ExpressJS, and PostgreSQL

Notifications You must be signed in to change notification settings

chiqors/WGS-Absence-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend App for WGS Absence

Please note that the frontend is on a separate repository. You can find it here.


Table of Contents


About

banner

This is the backend express server for frontend service of WGS Absence. This project is part of the WGS Absence project.

Technologies used:

  • Express (Node.js)
  • Prisma (ORM)
  • Auth0 (JWT Authentication and Authorization)
  • Multer (File Upload)
  • Archiver (Zip File Creator)
  • Express Validator (Request Validation)
  • Nodemailer (Email Sender)

Getting started

I only tested this project on Windows 7+. I don't know if it works on other OS.

1. Clone the repository

git clone https://github.com/chiqors/wgs-absence-backend.git

2. Configure the environment

.env.example is the example of the environment file. Copy it to .env and configure it. ngrok/ngrok.example.yml is the example of the ngrok configuration file. Copy it to ngrok/ngrok_config.yml and configure it.

3. Download ngrok executable from here and put it in ngrok folder.

3. Install dependencies

pnpm install

4. Do Prisma Migration

pnpm prisma:prisma:migrate-dev

5. Generate Prisma Client

pnpm prisma:generate

6. Create the morgan log file at logs/morgan.log

7. Run the project

pnpm dev

8. (Optional) Run NGROK for internal testing

pnpm start:ngrok

Credits

  • Thanks to Mailgun for providing email service.
  • Thanks to .tech for providing domain name.
  • Thanks to Vercel for providing hosting service for both frontend and backend.
  • Thanks to Twilio for providing SMS service. (Not implemented yet)