leosuncin/nest-auth-example
Nest.js authentication with Passport. Realworld example
๐ Nest.js Authentication Example
Nest.js authentication with Passport. RealWorld example
Features
- Authentication using Passport
- Local and JWT strategies are implemented
- TypeORM to connect with PostgreSQL
- Unit tests, integration tests and E2E tests
- ts-auto-mock with ttypescript to generate mocks with jest
- Check code quality with MegaLinter
- Check continuous integration with github actions
- Run the necessary services with docker compose
Run Locally
Clone the project
git clone https://github.com/leosuncin/nest-auth-example.gitGo to the project directory
cd nest-auth-exampleInstall dependencies
npm installCreate a .env from the example one and customize it with your environment variables
cp .env.example .envStart the services using Docker Compose
docker-compose up -dRun migrations to create the DB schema
npm run typeorm migration:runStart the server
npm run start:devEnvironment Variables
To run this project, you will need to add the following environment variables to your .env file
POSTGRES_DB the name of the database to connect in the PostgreSQL instance (required)
POSTGRES_USER The name of the user to connect to the PostgreSQL instance (required)
POSTGRES_PASSWORD The password of the user to connect to the PostgreSQL instance (required)
DATABASE_URL a connection string to the PostgreSQL instance, example postgres://postgres|@localhost/example-db (required)
PORT the port that Nest.js will listen at (required)
APP_SECRET the secret used to encrypt the session (required)
ALLOWED_ORIGINS a comma separated list of origins from which accept request (required)
You can copy the example .env and edit the values
cp .env.example .envRunning Tests
To run unit tests, run the following command:
npm testTo run e2e tests (the PostgreSQL instance must be available), run the following command:
npm run test:e2eTo see the code coverage
npm run test:covTech Stack
Server: Typescript, PostgreSQL, Nest.js, TypeORM, Passport
Test: Jest, SuperTest, TS auto mock
DevOps: Docker Compose
Author
๐ค Jaime Leonardo Suncin Cruz
- Twitter: @jl_suncin
- Github: @leosuncin
- LinkedIn: @jaimesuncin
Show your support
Give a โญ๏ธ if this project helped you!
๐ Stargazers
๐ด Forkers
Related
Here are some more example projects with Nest.js
License
Release under the terms of MIT