Skip to content

MoWafy001/backend-express-app

Repository files navigation

Backend Express App

Table of Contents

Description

Problem Statement

This is a simple REST API demonstrating the following skills and functionalities:

  • CRUD operations
  • Authentication
  • Authorization
  • Pagination
  • code quality
  • testing
  • documentation
  • deployment
  • dockerization
  • memoization

Technologies Used

  • Node.js
  • Express.js
  • Prisma ORM
  • Jest
  • Docker
  • TypeScript
  • MySQL

Installation

Normal Installation

  1. install the dependencies
npm install
  1. copy the .env.example file to .env, and update the values as per your environment
# copy the .env.example file to .env
cp .env.example .env
  1. setup the database
npx prisma reset
# this will run the migrations and seed the database
  1. start the server
npm run start

Docker Installation

  1. copy the .env.example file to .env.
# copy the .env.example file to .env
cp .env.example .env
  1. setup the database before running docker. You can either install the dependencies and run the prisma as mentioned in the normal installation or can manually run the SQL migrations and seed the database.
  2. build and run the docker container
docker compose up

Testing

make sure the database in seeded before running the tests

run the following command to run the tests

npm run test

Documentation

The endpoints and responses are included in postman collection in the docs folder.

Problem Solving Challenge

The solution is in the problem-solving folder.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published