Rahhal is a comprehensive travel planning platform that leverages AI to help users discover, plan, and manage trips across Egypt. The system provides personalized recommendations, intelligent trip generation, landmark recognition, and an AI-powered travel assistant all in one place.
Rahhal helps users explore Egypt, plan personalized trips, manage budgets, save favorite places,
and get AI-driven recommendations—all through a secure and scalable backend system.
-Tech Stack
.NET 8 – Backend framework
ASP.NET Core Web API – RESTful APIs
Entity Framework Core – ORM for SQL Server
SQL Server – Relational database
Redis – Temporary basket storage
JWT – Authentication & Authorization
Stripe – Subscription payments
SendGrid – Email service (password reset)
AutoMapper – Object-to-object mapping
Swagger / OpenAPI – API documentation
ngrok – Local tunnel for testing
-Architecture
>The project follows Clean Architecture with four main layers:
>Domain – Entities, Enums, BaseEntity
>Application (Services) – Business logic and use cases
>Infrastructure – Database, Redis, Stripe, repositories
>Presentation – Controllers, DTOs, Swagger
This structure ensures separation of concerns, maintainability, and testability.
-Authentication
JWT-based login, registration, role-based access (Admin/User), and password reset via email.
-AI Integration
Image Recognition – Identify landmarks from photos
Itinerary Generator – AI-powered trip plans based on budget, days, interests, and traveler count
AI Chatbot – Conversational assistant with session memory and Arabic/English support
-Places Management
Full CRUD for tourist places with multilingual names, category filtering, image uploads, and price differentiation based on user type (Egyptian/Foreigner, Student/Adult).
-Trip Planning
Create, edit, and delete trips. Add or remove places, generate daily schedules, and calculate total costs.
-Basket (Redis)
Temporary storage for places before confirming a trip. Redis ensures fast performance and enrichment fetches full place details from SQL.
-Subscriptions (Stripe)
Weekly, Monthly, and Yearly subscription plans with Stripe Checkout and webhook handling.
-Wishlist
Save favorite places, toggle favorites, and retrieve saved list.
-Admin Dashboard
Dashboard statistics …