Palo Project: A boilerplate for SaaS applications
- Features
- Quick run
- Comfortable development
- Links
- Automatic update of dependencies
- Database utils
- Tests
- Tests in Docker
- Test benchmarking
- Database (typeorm).
- Seeding.
- Config Service (@nestjs/config).
- Mailing (nodemailer).
- Sign in and sign up via email.
- Social sign in (Apple, Facebook, Google, Twitter).
- Admin and User roles.
- I18N (nestjs-i18n).
- File uploads. Support local and Amazon S3 drivers.
- Swagger.
- E2E and units tests.
- Docker.
- CI (Github Actions).
cd my-app/
cp env-example .env
docker compose up -dFor check status run
docker compose logscd my-app/
cp env-example .envChange DATABASE_HOST=postgres to DATABASE_HOST=localhost
Run additional container:
docker compose up -d postgresnpm install
npm run migration:run
npm run seed:run
npm run start:dev- Swagger: http://localhost:3000/docs
If you want to automatically update dependencies, you can connect Renovate for your project.
Generate migration
npm run migration:generate -- src/database/migrations/CreateNameTableRun migration
npm run migration:runRevert migration
npm run migration:revertDrop all tables in database
npm run schema:dropRun seed
npm run seed:run# unit tests
npm run test
# e2e tests
npm run test:e2edocker compose -f docker-compose.ci.yaml --env-file env-example -p ci up --build --exit-code-from api && docker compose -p ci rm -svf