Skip to content

Latest commit

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Task & Project Management API

A backend-only REST API for managing projects, tasks, and comments. Built with NestJS — no frontend included; consume it via Swagger/Postman or your own client.

Domain model

User
└── owns many Projects
└── has many Tasks
├── assigned to a User
└── has many Comments
└── written by a User
  • Project — name, description, owned by a User
  • Task — title, description, status (TODO | PENDING | DONE), priority (low | medium | high), belongs to a Project, optionally assigned to a User
  • Comment — content, belongs to a Task, written by a User

Tech stack

  • NestJS — Node.js framework, Express adapter
  • Prisma — ORM
  • PostgreSQL — database
  • Better Auth — authentication (email + password, session-based)
  • Arcjet — rate limiting / bot protection / security
  • Biome — linting and formatting
  • Husky + commitlint — git hooks, conventional commit enforcement

Getting started

Prerequisites

  • Bun installed
  • A running PostgreSQL instance

Setup

bun install
cp .env.example .env # fill in DATABASE_URL and auth secret
bunx prisma migrate dev
bun run start:dev

The API will be available at http://localhost:3000.

Scripts

CommandDescription
bun run start:devStart in watch mode
bun run buildCompile to dist/
bun run start:prodRun the compiled build
bun run lintCheck lint/format issues (Biome)
bun run lint:fixAuto-fix lint/format issues
bun run testRun unit tests
bun run test:e2eRun end-to-end tests
bun run typecheckType-check without emitting

Deployment

Full steps in DEPLOYMENT.md

Push to main → GitHub Actions builds the Docker image, pushes to GHCR, then triggers Render to pull and deploy.

Live Demo

Note: Hosted on Render's free tier — the service sleeps after 15 minutes of inactivity. If the first request hangs, it's waking up (~30 seconds). Just wait and retry.

API documentation

Swagger UI is available at /docs once the server is running.

License

MIT — see LICENSE.

About

NestJS REST API for project & task management with role-based access control, session auth, rate limiting, and bot protection.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

Used by

Contributors

Languages