A modern, blazing-fast full-stack starter template combining the power of React, Vite, Elysia, and Bun.
- React 19 - Latest version with cutting-edge features
- Vite - Lightning-fast development experience with HMR
- Tailwind CSS 4 - Utility-first CSS framework for rapid UI development
- Framer Motion - Production-ready motion library for React
- Elysia - Fast and elegant web framework for Bun
- Bun - All-in-one JavaScript runtime & toolkit (faster than Node.js)
react-elysia-starter/
βββ client/ # Frontend React application
β βββ public/ # Static assets
β β βββ react.svg
β β βββ vite.svg
β β βββ elysia.svg
β βββ src/
β β βββ App.tsx # Main app component
β β βββ main.tsx # React entry point
β β βββ index.css # Global styles (Tailwind)
β βββ package.json
β βββ vite.config.ts # Vite configuration
β
βββ server/ # Backend Elysia application
βββ index.ts # Main server file
βββ package.json
βββ tsconfig.json
Make sure you have Bun installed on your machine.
# Install Bun (macOS, Linux, and WSL)
curl -fsSL https://bun.sh/install | bash
# Install Bun (Windows)
powershell -c "irm bun.sh/install.ps1 | iex"git clone https://github.com/N0Vee/react-elysia-starter.git
cd react-elysia-starter# Install client dependencies
cd client
bun install
# Install server dependencies
cd ../server
bun installTerminal 1 - Frontend (Vite Dev Server):
cd client
bun devThe frontend will be available at http://localhost:5173
Terminal 2 - Backend (Elysia Server):
cd server
bun devThe backend will be available at http://localhost:3001
| Command | Description |
|---|---|
bun dev |
Start development server with HMR |
bun build |
Build for production |
bun preview |
Preview production build |
bun lint |
Run ESLint |
| Command | Description |
|---|---|
bun dev |
Start Elysia server with hot reload |
bun index.ts |
Run server without hot reload |
The backend server provides the following endpoints:
-
GET /- Welcome message"Hello from Elysia + Bun!" -
GET /api/hello- API test endpoint{ "message": "Hello API" }
- React - UI library
- Vite - Build tool
- Tailwind CSS - CSS framework
- Framer Motion - Animation library
- React Router - Routing
- Axios - HTTP client
- TypeScript - Type safety
- ESLint - Code linting
The Vite config includes:
- React plugin with Babel React Compiler
- Tailwind CSS plugin
- Fast Refresh for instant HMR
Tailwind CSS v4 is configured with the new @import "tailwindcss" syntax in index.css.
CORS is enabled on the Elysia server for cross-origin requests from the frontend.
# Build and run with Docker Compose
docker-compose up -d --build
# Access the application
# Frontend: http://localhost:3000
# Backend: http://localhost:3001
# View logs
docker-compose logs -f
# Stop services
docker-compose down# Build and run server only
cd server
docker build -t elysia-server .
docker run -p 3001:3001 elysia-server
# Build and run client only
cd client
docker build -t react-client .
docker run -p 3000:80 react-client- React Documentation
- Vite Documentation
- Elysia Documentation
- Bun Documentation
- Tailwind CSS Documentation
- Framer Motion Documentation
Contributions are welcome! Feel free to open issues or submit pull requests.
MIT
Built with β€οΈ using React, Vite, Elysia, and Bun