jakmaz / elynext

Starter for fast and modern full stack development

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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!

About

Starter for fast and modern full stack development


Languages

Language:TypeScript 98.4%Language:JavaScript 1.1%Language:CSS 0.6%