Project Gallery
Project Overview
Client: CarFlip.lk
Industry: Automobile
CarFlip LK is a full-featured vehicle marketplace web application designed to connect vehicle dealers and individual sellers with potential buyers in a trusted, scalable, and user-friendly environment.
The platform allows users to list vehicles, promote them using paid advertisement plans, communicate via real-time chat, and verify sellers to improve buyer trust. all while being optimized for performance and affordability in the Sri Lankan market.
This project was built as a custom PHP web application without using any major backend frameworks, focusing on performance, flexibility, and full control over the system architecture.
Project Scope
- 1. User registration & role-based access (Admin / Dealer / User).
- 2. Vehicle listing creation and management.
- 3. Media uploads (images & videos).
- 4. Listing insights (views, clicks, bookmarks, shares).
- 5. Featured listings and paid advertisements.
- 6. Seller verification workflow.
- 7. Real-time chat between buyers and dealers.
- 8. Reporting system for suspicious listings.
- 9. Multilingual support (English, Sinhala, Tamil).
- 10. Admin moderation & content management.
- 11. Homepage hero slider management.
- 12. Notification system.
Journey
The idea for CarFlip LK originated from observing how buyers struggle to trust listings and how sellers are forced to overpay for visibility on existing platforms. Instead of building a generic classifieds website, the goal was to design a trust-first vehicle marketplace, where:
– Sellers can prove legitimacy.
– Buyers can communicate instantly.
– Promotions are transparent and fairly priced.
The biggest challenge was building everything without a framework, which required:
– Careful database normalization.
– Secure authentication handling.
– Custom real-time chat logic.
– Manual CI/CD deployment planning.
Despite these challenges, this approach resulted in a lean, fast, and highly customizable system.
Key Features
- User & Dealer Management
- Role-based access (Admin, Dealer, User)
- Dealer profile verification
- Secure authentication with password hashing
- Optional 2FA support
- Vehicle Listings
- Detailed vehicle attributes (make, model, year, mileage, condition)
- Media gallery with cover image selection
- Listing statuses (Active, Hold, Sold, Rejected)
- Insights tracking (views, clicks, shares)
- Real-Time Chat System
- Listing-based conversations
- First-message auto-includes listing details
- AJAX polling for near real-time updates
- Read/unread message tracking
- Advertisements & Promotions
- Configurable ad plans with duration & pricing
- Featured listings
- Boost & top-list options
- Expiry-based activation logic
- Trust & Moderation
- Seller verification workflow
- Listing reporting system
- Admin review and response tracking
- Evidence attachment support
- Multilingual Support
- English, Sinhala, and Tamil language support
- Unicode-based translations
- User-specific language preferences
Technology Stack
- Frontend: HTML5, Tailwind CSS, Vanilla JavaScript
- Backend: PHP, Composer
- Database: MySQL
- Infrastructure: KVM VPS, PHP-FPM Workers, GitHub Version Control
Challenges
- Building real-time chat without WebSockets
- Managing deployments without downtime
- Designing scalable database relationships (AJAX)
- Avoiding over-engineering while future-proofing
Lessons Learned
- Deep understanding of PHP internals
- Clean MySQL schema design
- Real-world CI/CD workflow implementation
- Performance-first thinking
- Building production systems without frameworks