Clean Architecture Elysia

screenshot of Clean Architecture Elysia
react
drizzle-orm

A production-ready starter template using ElysiaJS, Drizzle ORM, and Bun.

Overview

The ElysiaJS + Drizzle Clean Architecture Starter template is an excellent choice for developers looking to build production-ready applications with modern technologies. This starter kit integrates ElysiaJS, a robust framework, with Drizzle ORM and Bun, making it easy to structure your application following clean architecture principles. The template is not only designed to accelerate development but also emphasizes best practices, ensuring that your code remains maintainable and scalable.

With a strong focus on security and performance, this starter template equips you with essential features like JWT-based authentication, type safety with TypeScript, and a reliable database migration system. Whether you're a seasoned developer or someone venturing into web application development, this tool caters to various needs to create efficient and powerful applications.

Features

  • Clean Architecture: Domain-driven design that offers a clear separation of concerns, resulting in a well-organized codebase.

  • Authentication: Implements a JWT-based authentication system for secure user access and identity management.

  • User Management: Complete user entity support, including comprehensive profile management functionalities.

  • Database: Utilizes Drizzle ORM with PostgreSQL, providing seamless integration and efficient data handling.

  • Validation: Ensures end-to-end type safety with Elysia's built-in validation features, enhancing the robustness of your application.

  • API Documentation: Automatically generates OpenAPI/Swagger documentation, making it easier to share and understand your API endpoints.

  • Testing: Comes with unit and integration tests set up to promote code reliability and prevent regressions.

  • Error Handling: Features a comprehensive error handling system to manage and log errors effectively.

  • Migrations: An efficient database migration system that simplifies version control for your database schema.

  • Rate Limiting: Implements rate limiting using Redis to ensure application performance and protect against abuse.

  • OTP Mail Verification: Supports email verification via OTP (One Time Password) using Resend and React Email, enhancing user security during registration.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

drizzle-orm
Drizzle ORM

Drizzle ORM is a TypeScript ORM for SQL databases designed with maximum type safety in mind. It comes with a drizzle-kit CLI companion for automatic SQL migrations generation. Drizzle ORM is meant to be a library, not a framework. It stays as an opt-in solution all the time at any levels.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.