01 / Featured backend system
ASRP — AI-Powered Smart Restaurant Platform
A backend-heavy restaurant platform handling ordering, pickup scheduling, restaurant operations, reviews, payments, analytics, authentication, and deployment.
A production-oriented system that keeps transactional order states, operational workflows, and infrastructure concerns behind stable API contracts.
End-to-end flow
active.node ASP.NET Core API healthy
Problem
Problem
Restaurant ordering is more than CRUD: availability, pickup timing, payment, branch operations, and state transitions must agree under real business constraints.
- Model explicit order states
- Keep customer and manager actions predictable
- Preserve API contracts as workflows evolve
Architecture
Architecture
The solution follows Clean Architecture so transport, application use cases, domain rules, and persistence remain independently understandable.
- Thin API controllers
- Application-owned orchestration
- Domain-centered business rules
- Infrastructure behind abstractions
Pickup scheduling
Pickup scheduling
Scheduling logic is centralized around preparation rules, branch configuration, workload, and pickup constraints instead of being scattered across endpoints.
- Single scheduling responsibility
- Explicit constraints
- Testable decisions
Data consistency
Data consistency
Orders and payments cross multiple business states. Transaction boundaries and explicit transitions protect the system from invalid partial progress.
- Transactional state changes
- Validation before mutation
- Concurrency-aware workflows
Caching & background work
Caching & background work
Redis supports frequently accessed or transient data while Hangfire moves appropriate work outside the request lifecycle.
- Purposeful cache boundaries
- Retryable background jobs
- Fast request paths
Deployment
Deployment
The application is designed to leave the laptop: GitHub Actions builds and delivers Docker workloads through Nginx on Linux infrastructure with HTTPS.
- Repeatable CI/CD
- Containerized runtime
- Reverse-proxy boundary
CI / CD
From commit to HTTPS.
Delivery is part of the system design, not an activity postponed until the feature is complete.
Continue exploring