/elynext

Starter for fast and modern full stack development

Primary LanguageTypeScript

ElyNext - Modern Full Stack Starter

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.

๐Ÿ’ป Client

Uses the following tech stack:

๐ŸŒ Server

Uses the following tech stack:

  • ๐Ÿƒ Runtime: Bun
  • ๐ŸŒ Server Framework: Elysia
  • ๐Ÿ—„๏ธ DB: SQLite
  • ๐Ÿ› ๏ธ ORM: Drizzle
  • โœ… Validation: Typebox
  • ๐Ÿ”„ End-to-End Type Safety: Eden

๐Ÿ“‹ Features

  • ๐Ÿ“ 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.

๐Ÿš€ Usage

๐Ÿ“ฆ Installing Dependencies

Run this command from the root directory:

bun install

๐ŸŸฃ Starting Backend

To start the Elysia server, run this command from the root directory:

bun dev:backend

๐Ÿ”ต Starting Frontend

To start the Next.js dev server, run this command from the root directory:

bun dev:web

๐Ÿ–ฅ Running Backend and Frontend in Split Window

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
image

๐Ÿงช Backend Unit Tests

To run the backend unit tests, use the following command in backend directory:

bun test

๐Ÿ”ง Drizzle Kit Integration

To run database migrations using Drizzle Kit, use the following commands:

  • Generate migration:

    drizzle-kit generate:migration
  • Run migrations:

    drizzle-kit migrate

๐Ÿ“– Swagger Documentation

The Swagger documentation is auto-generated and can be accessed at:

http://localhost:4000/swagger

๐Ÿ‘จโ€๐Ÿ’ป Show your Support

Give a โญ๏ธ if this project helped you!