ArabClue (built on the MagicAI template) is a premier, multilingual platform for short-term and long-term property rentals, designed to connect guests with unique and unforgettable stays. It provides property owners and investors with powerful tools to manage their listings, optimize pricing, and track earnings, while offering guests a seamless booking experience enhanced by an AI-powered assistant named "Sara".
- Property Management: Comprehensive tools for hosts to create, manage, and publish property listings with multilingual descriptions, high-quality media, and dynamic calendars.
- Advanced Booking System: Real-time availability, instant booking, and secure payment processing with multiple gateway options.
- User Dashboards: Dedicated dashboards for Guests, Hosts, and Administrators to manage their activities, from bookings to platform-wide settings.
- Sara AI Chatbot: An intelligent, multilingual chatbot that assists guests with property discovery, booking, and support, all within a conversational interface.
- Channel Manager: Synchronize property availability and pricing across major Online Travel Agencies (OTAs).
- Financial Reporting: Detailed financial reports and analytics for hosts and platform administrators.
- Backend: PHP 8.2, Laravel 10
- Database: MySQL, Redis
- Frontend: Blade, Livewire/Alpine.js (or Vue/React)
- Web Server: Nginx
- DevOps: Docker, Laravel Sail, GitHub Actions
Follow these instructions to get the project up and running on your local machine for development and testing purposes.
Make sure you have the following software installed on your system:
- PHP 8.2 or higher
- Composer
- Node.js & NPM
- MySQL
-
Clone the repository:
git clone https://github.com/Mirxa27/arabclue.git
-
Navigate to the project directory:
cd arabclue -
Install PHP dependencies:
composer install
-
Install JavaScript dependencies:
npm install
-
Create your environment file:
cp .env.example .env
-
Generate an application key:
php artisan key:generate
-
Configure your environment: Open the
.envfile and configure your database credentials (DB_DATABASE,DB_USERNAME,DB_PASSWORD) and any other required service keys. -
Run database migrations and seeders:
php artisan migrate --seed
-
Start the local development server:
php artisan serve
-
Start the frontend asset builder:
npm run dev
The application should now be running at http://localhost:8000.
To run the automated test suite, use the following Artisan command:
php artisan testThe .env file contains all the configuration variables needed to run the application. Here are some of the key variables from .env.example:
APP_URL: The base URL of your application.DB_CONNECTION,DB_HOST,DB_PORT,DB_DATABASE,DB_USERNAME,DB_PASSWORD: Credentials for the database connection.MAIL_MAILER,MAIL_HOST, etc.: Configuration for sending emails.OPENAI_API_KEY: API key for OpenAI, used by the Sara AI Chatbot and other AI features.GOOGLE_CLIENT_ID,FACEBOOK_CLIENT_ID,APPLE_CLIENT_ID: Credentials for social authentication providers.STRIPE_KEY,PAYPAL_CLIENT_ID,MYFATOORAH_API_KEY: API keys for payment gateways.AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_BUCKET: Credentials for Amazon S3 file storage.SENTRY_LARAVEL_DSN: DSN for error tracking with Sentry.