DatPhongNhanh ("Quick Booking" in English) is a modern, high-performance room booking platform built with ASP.NET (.NET 9) and React. The system provides a seamless experience for users to search, compare, and book accommodations with real-time availability and instant confirmation.
- Fast and Responsive Booking: Optimized for speed with Redis caching and efficient data processing
- Secure Authentication: Implements OpenID Connect and OAuth 2.0 standards for robust security
- Real-time Availability: Instant room status updates across all devices
- Advanced Search: Find accommodations by location, price, amenities, and more
- Booking Management: Easy modification and cancellation of reservations
- Payment Integration: Secure payment processing with multiple options
- User Reviews and Ratings: Transparent feedback system for quality assurance
- Admin Dashboard: Comprehensive management interface for property owners
- Framework: ASP.NET Core (.NET 9)
- Data Access:
- Entity Framework Core for ORM
- Dapper for high-performance queries
- Mapping: AutoMapper for object-to-object mapping
- Validation: FluentValidation for request validation
- Scheduling: Quartz.NET for background jobs and notifications
- Caching: Redis for high-performance data caching
- Authentication:
- OpenIdDict for OpenID Connect server implementation
- OAuth 2.0 for secure authorization
- Framework: React with JavaScript/TypeScript
- State Management: Redux/Context API
- UI Components: Material UI/Ant Design
- API Communication: Axios/Fetch API
- .NET 9 SDK
- Node.js (v16+)
- Redis Server
- SQL Server/PostgreSQL
- Clone the repository:
git clone https://github.com/yourusername/DatPhongNhanh.git
cd DatPhongNhanh- Set up the backend:
cd Backend
dotnet restore
dotnet build- Configure the database:
dotnet ef database update- Set up the frontend:
cd ../Frontend
npm install- Run the application:
# Terminal 1 (Backend)
cd Backend
dotnet run
# Terminal 2 (Frontend)
cd Frontend
npm start- Access the application:
- API: http://localhost:5000
- Web Client: http://localhost:3000
DatPhongNhanh follows a clean architecture pattern with clear separation of concerns:
- API Layer: RESTful endpoints for client communication
- Service Layer: Business logic implementation
- Repository Layer: Data access and persistence
- Domain Layer: Core business entities and rules
- Redis caching for frequently accessed data
- Dapper for performance-critical database operations
- Asynchronous processing for non-blocking operations
- Optimized React rendering with proper state management
- JWT-based authentication
- Role-based access control
- HTTPS encryption
- Input validation and sanitization
- Protection against common web vulnerabilities (XSS, CSRF, SQL Injection)
The system supports deployment to various environments:
- Development: Local setup with debugging tools
- Staging: Pre-production environment for testing
- Production: Optimized for performance and security
- Docker containers
- Azure App Service
- AWS Elastic Beanstalk
- Traditional IIS hosting
- Mobile application (React Native)
- AI-powered recommendations
- Advanced analytics dashboard
- Integration with more payment gateways
- Multi-language support
We welcome contributions! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries or support, please contact us at support@datphongnhanh.com
© 2025 DatPhongNhanh. All rights reserved.