Echo is a minimal full-stack application featuring a high-performance ASP.NET backend and a responsive Next.js frontend. The project is designed with scalability and containerization in mind, utilizing Docker for streamlined deployment and a PostgreSQL database for robust data management.
- Runtime: .NET 10.0 (ASP.NET Core)
- Database Provider: Npgsql (PostgreSQL)
- ORM: Entity Framework Core
- Validation: FluentValidation
- Documentation: Swagger/OpenAPI
- Framework: Next.js
- Library: React
- Styling: Tailwind CSS
- Font: Vazirmatn
The easiest way to get the entire stack running is using Docker Compose:
-
Clone the repository:
git clone https://github.com/MahdiyarGHD/Echo.git cd Echo -
Start the services:
docker-compose up -d
The application will be available at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- Swagger UI: http://localhost:5000/swagger
Echo/
├── src/
│ ├── Back-End/ # ASP.NET Core Web API
│ │ └── Echo/
│ │ ├── Features/ # Domain logic and endpoints
│ │ └── Common/ # Shared utilities and helpers
│ └── Front-End/ # Next.js Application
│ ├── app/ # Next.js App Router
│ ├── components/ # Reusable UI components
│ └── lib/ # Client-side utilities
├── docker-compose.yml # Multi-container orchestration
└── Echo.slnx