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!