Sprinter is an app for AGILE and SCRUM similar to Jira.
This part of Sprinter app is a backend. It provides API for interacting with database and authentication.
- NestJS
- Typescript
- Class \Validator
- Class Transformer
- JWT, Passport, Argon2
- Prisma ORM
- Docker
- Docker Compose
- Insomnia
- Authentication
- CRUD access to next entities:
- Board
- Sprint
- Status
- Task
- Membership (role based access)
- Containerization with watch (basically hot reload)
First you need to set up your .env file. Also note that you need to provide your own database if running outside docker.
DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres # database url to connect
RUN_MODE=reset # reset to clear database, deploy to run migrations (in progress). Required only in docker
JWT_SECRET=secret # secret for jwt
JWT_EXPIRES_IN=24h # how long jwt is valid
ADMIN_NAME=admin # name of default user
ADMIN_EMAIL=admin@admin.com # email of default user
ADMIN_PASSWORD=admin # password of default user
HOST=0.0.0.0 # host to listen on, can be empty
PORT=3000 # port to listen on, can be emptyYou just need docker compose installed and run: docker compose up --build
You will need npm installed and run:
npm install
npx prisma generate
npx prisma migrate dev --name init
npm run start:devHere you can find hosted demo since project is in development it is not 100% stable
Here you can find insomnia collection
- Include relationships in response jsons
- Use swagger for api documentation
- Include tests (with supertest)
- Switch to faster backend like Fastify
- File uploads for attachments