A simple starter fullstack todos app built with Next.js and ElysiaJS using Bun. This project is purposefully kept minimal to serve as a starting point for beginner to intermediate developers.
Uses the following tech stack:
- π Web Framework: Next.js (React)
- ποΈ UI: NextUI
- π¨ Styling: TailwindCSS
- π οΈ Icons: Heroicons
- π§ Tooling: Bun
Uses the following tech stack:
- π Runtime: Bun
- π Server Framework: Elysia
- ποΈ DB: SQLite
- π οΈ ORM: Drizzle
- β Validation: Typebox
- π End-to-End Type Safety: Eden
- π Backend Unit Tests: Comprehensive unit tests for backend routes
- πΎ Drizzle Kit Integration: Seamless database migrations and schema management.
- π Swagger Documentation: Auto-generated API documentation with Swagger for easy API exploration and testing.
Run this command from the root directory:
bun install
To start the Elysia server, run this command from the root directory:
bun dev:backend
To start the Next.js dev server, run this command from the root directory:
bun dev:web
To run both the backend and frontend in split windows, you need to have tmux
installed. Use the following command from the root directory:
bun dev
To run the backend unit tests, use the following command in backend directory:
bun test
To run database migrations using Drizzle Kit, use the following commands:
-
Generate migration:
drizzle-kit generate:migration
-
Run migrations:
drizzle-kit migrate
The Swagger documentation is auto-generated and can be accessed at:
http://localhost:4000/swagger
Give a βοΈ if this project helped you!