Nest.js authentication with Passport. RealWorld example
- 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
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:devTo 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 .envTo 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:covServer: Typescript, PostgreSQL, Nest.js, TypeORM, Passport
Test: Jest, SuperTest, TS auto mock
DevOps: Docker Compose
👤 Jaime Leonardo Suncin Cruz
- Twitter: @jl_suncin
- Github: @leosuncin
- LinkedIn: @jaimesuncin
Give a ⭐️ if this project helped you!
Here are some more example projects with Nest.js
Release under the terms of MIT