The official backend REST API for the ConnectX mobile application, powering matchmaking, real-time discovery, and seamless networking.
Key Features • Tech Stack • Getting Started • Deployment • Documentation
- Advanced Authentication: Secure passwordless login via WhatsApp & Email OTP, alongside standard Social OAuth integrations (Google, Apple, LinkedIn).
- Dynamic Onboarding Engine: A robust, sequential 5-stage registration flow ensuring high-quality profile data collection.
- Matchmaking & Discovery: A highly optimized swipe-based feed algorithm utilizing Geo-location (Haversine formula), deep Tag/Skill matching, and Role compatibility scoring. Supports transactional Swipe Right (Connect) and Swipe Left (Skip) actions.
- AI-Powered Match Analysis: Automated background queues that generate JSON-based AI compatibility insights whenever a mutual match occurs.
- Real-time Chat Integration: 1-on-1 direct messaging capabilities synchronized directly with Supabase Realtime Broadcast for instantaneous mutual-match communication.
- Scalable Architecture: Architected to handle high-concurrency requests typical of mobile application usage.
- Framework: Laravel 11 (PHP)
- Database: PostgreSQL (hosted on Supabase Cloud)
- Real-time Engine: Supabase Realtime
- API Documentation: OpenAPI 3.0 via L5-Swagger
- Deployment: Linux VPS / Docker (Nginx + PHP-FPM)
Ensure you have the following installed on your local development machine:
- PHP >= 8.2
- Composer
- Node.js & NPM
- A PostgreSQL database (or a local Supabase instance)
-
Clone the repository:
git clone https://github.com/your-org/getconnect-x.git cd getconnect-x -
Install PHP dependencies:
composer install
-
Configure Environment Variables: Copy the example environment file and configure your local settings, especially your database credentials and Supabase keys.
cp .env.example .env php artisan key:generate
-
Run Database Migrations:
php artisan migrate
-
Serve the Application:
php artisan serve
This application is designed to be deployed on a standard Linux Virtual Private Server (VPS).
- Web Server: Nginx or Apache
- PHP: PHP 8.2+ with PHP-FPM
- Process Monitor: Supervisor (for Laravel Queues)
- SSL: Let's Encrypt
Ensure you run the standard Laravel deployment commands during your CI/CD pipeline or manual setup:
composer install --optimize-autoloader --no-dev
php artisan config:cache
php artisan event:cache
php artisan route:cache
php artisan view:cacheThe backend provides an interactive Swagger UI for testing endpoints and reviewing the API contracts for the mobile frontend team.
- Local Sandbox:
http://localhost:8000/api/documentation - Production Sandbox:
https://your-production-domain.com/api/documentation
For detailed technical notes on the initial authentication flow, refer to the Auth Technical Guide.
Built with ❤️ by the ConnectX Engineering Team.