Sisal Nest App

project-image

After the project is installed you can access the Swagger documentation at http://localhost:3003/api

Default admin user:

Email : admin@sisal.com
Password : iLoveSisal

๐Ÿง Features

Here're some of the features:

  • NestJS application with Prisma ORM for database interactions.
  • MySQL database.
  • Dockerized application for easy deployment.
  • Authentication module with Passport JWT for user authentication.
  • CRUD operations for managing user data.
  • Reddit module for fetching posts from Reddit.
  • Unit tests for services using Jest.
  • API documentation using Swagger.
  • ESLint and Prettier configurations for code formatting.
  • Database seed script to create a default admin user.

๐Ÿš€ Technologies

Here're some of the used tecnologies:

  • Typescript
  • NestJS
  • PrismaORM
  • MySQL
  • Docker
  • Jest
  • Swagger
  • ESLint

๐Ÿงพ Prerequisites

Before you begin, ensure you have met the following requirements:

  • Node.js installed (version ^16.0.0)
  • Docker installed
  • MySQL database setup on Docker
  • Set environment folder and files

๐Ÿ› ๏ธ Standalone Installation:

1. Clone the repository:

git clone https://github.com/enescloud/sisal-nest-app.git

2. Install Project

yarn install

3. Set Environment Files

mv env1.example .env
mkdir env
mv env2.example env/.env.dev

4. Build Mysql Database on Docker

docker compose -f docker/docker-compose.dev.yml up --build -d mysql

5. Migrate Database

yarn migrate

6. Run Tests

yarn test

7. Create Admin User in Database

yarn seed

8. Start Application

yarn start:debug <b>or</b> yarn start:dev

๐Ÿ“ Notes

You can use Prisma Stuido for checking data on UI

npx prisma studio