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!