A modern, scalable food delivery API that powers the next generation of food ordering experiences
Built with ASP.NET Core 9 โข Inspired by Glovo, Uber Eats, and DoorDash
This isn't just another CRUD API. It's a production-ready food delivery platform that handles everything from user authentication to real-time courier tracking. Whether you're building the next food delivery unicorn or learning modern .NET development, this project has you covered.
- ๐๏ธ Enterprise-Ready Architecture - Clean code, SOLID principles, and scalable design
- โก High Performance - Optimized queries, efficient data structures, and minimal overhead
- ๐ Security First - JWT authentication, role-based authorization, and secure endpoints
- ๐ฑ Mobile-Friendly - RESTful APIs designed for modern mobile and web applications
- ๐ Global Ready - Multi-language and multi-currency support (roadmap)
|
|
| Technology | Purpose | Why We Chose It |
|---|---|---|
| ASP.NET Core 9 | Web Framework | Latest features, high performance, cross-platform |
| Entity Framework Core 9 | ORM | Code-first approach, excellent tooling |
| SQLite | Database | Zero-config development, easy deployment |
| JWT | Authentication | Stateless, scalable, industry standard |
| Swagger/OpenAPI | Documentation | Interactive API exploration |
โ
.NET 9 SDK
โ
Your favorite IDE (VS Code, Visual Studio, Rider)
โ
5 minutes of your time# 1๏ธโฃ Clone the repository
git clone https://github.com/yourusername/food-delivery-backend.git
cd food-delivery-backend
# 2๏ธโฃ Restore packages (grab a coffee โ)
dotnet restore
# 3๏ธโฃ Create and seed the database
dotnet ef database update
# 4๏ธโฃ Launch the API ๐
dotnet runNavigate to https://localhost:5001/swagger and explore the interactive API documentation.
Test it instantly:
- Register a new user via
/api/auth/register - Browse restaurants at
/api/restaurants - Place your first order at
/api/orders
๐๏ธ Click to explore our data model
๐ค User
โโโ Authentication & roles
โโโ Order history
โโโ Reviews written
๐ช Restaurant
โโโ Menu items (Products)
โโโ Location data
โโโ Reviews received
โโโ Order fulfillment
๐ Courier
โโโ GPS coordinates
โโโ Availability status
โโโ Active deliveries
โโโ Performance reviews
๐ฆ Order
โโโ Cart items
โโโ Status tracking
โโโ Delivery details
โโโ Payment info
Our API is fully documented and interactive!
| Endpoint | Purpose | Highlights |
|---|---|---|
POST /api/auth/register |
User Registration | Role assignment, validation |
GET /api/restaurants |
Browse Restaurants | Filtering, pagination, ratings |
POST /api/orders |
Place Order | Cart validation, courier assignment |
GET /api/orders/history |
Order History | Personal order tracking |
POST /api/reviews |
Leave Review | Restaurant & courier feedback |
- Pagination: All list endpoints support
pageandpageSize - Filtering: Search restaurants by cuisine, rating, location
- Sorting: Order results by relevance, rating, distance
- Error Handling: Consistent error responses with helpful messages
timeline
title Development Roadmap
Q1 2024 : Refresh Tokens
: Real-time Notifications
: Admin Dashboard
Q2 2024 : Multi-language Support
: Payment Integration
: Mobile Push Notifications
Q3 2024 : Analytics Dashboard
: Map Integration
: Performance Optimizations
Q4 2024 : AI-powered Recommendations
: Advanced Reporting
: Microservices Architecture
The project comes with rich seed data:
- ๐ 15+ Restaurants across different cuisines
- ๐ 50+ Menu items with realistic pricing
- ๐ Active couriers ready for dispatch
- ๐ฅ Test users for all roles
Perfect for immediate testing and demo purposes!
- Hot Reload - See changes instantly during development
- Rich IntelliSense - Full type safety and autocomplete
- Comprehensive Logging - Debug with detailed request/response logs
- Clean Architecture - Easy to understand, extend, and maintain
- Unit Test Ready - Structured for easy testing implementation
- Environment Configuration - Easy deployment across environments
- Health Checks - Monitor API health and dependencies
- CORS Support - Ready for frontend integration
- Security Headers - Protection against common vulnerabilities
We โค๏ธ contributions! Here's how you can help:
| ๐ Bug Reports Found an issue? Report it! |
๐ก Feature Ideas Have a suggestion? Share it! |
๐ง Code Contributions Want to code? Submit a PR! |
๐ Documentation Improve our docs Help us! |
- ๐ด Fork the project
- ๐ฟ Create your feature branch (
git checkout -b feature/AmazingFeature) - โจ Commit your changes (
git commit -m 'Add some AmazingFeature') - ๐ค Push to the branch (
git push origin feature/AmazingFeature) - ๐ Open a Pull Request