API developed as a backend challenge for a job application.
- Backend: Fastify.js, Node.js, TypeScript, TypeBox
- ORM: DrizzleORM
- Database: PostgreSQL
- Validation: TypeBox schemas
- Containerization: Docker & Docker Compose
- Full CRUD for posts (
/api/posts) - Pagination, sorting, and filtering by
username - Data validation using TypeBox
- Centralized error handling
- Configurable via environment variables
- Dockerized for consistent development environment
- Clone the repository:
git clone https://github.com/igorpardinho/codeleap.git
cd codeleap- Start Docker containers:
docker-compose up -d- Install dependencies (if running outside Docker)
npm install- Generate the database schema
npm run db:generate- Start the server
npm run dev