Back to Projects
FinishedUniversityCase study

AUBus Premium

A ride-sharing prototype for AUB students pairing a PyQt5 desktop client with a multithreaded TCP socket server and SQLite persistence, supporting ride matching, peer-to-peer messaging, and live weather.

Problem

AUB students arranging carpools had no dedicated platform - coordination happened informally, with no reliable way to find nearby drivers, verify identity, or rate ride partners.

Solution

AUBus Premium uses a hybrid client-server/peer-to-peer architecture: a multithreaded TCP server handles registration, OTP email verification, Google sign-in, and ride matching by area, time, and minimum rating, while drivers and passengers exchange text, voice, image, and location messages directly. The platform also supports group chats, a car catalogue, license-plate verification, live weather lookups, light/dark mode, and full English/Arabic/French localization.

What I learned

Designing a custom length-prefixed JSON-over-TCP protocol made the value of explicit state machines clear - modeling the ride lifecycle as pending -> accepted/rejected -> active -> completed kept the client and server consistent under concurrent requests.

Tech Stack

PythonPyQt5TCP SocketsSQLiteMultithreadingSMTP2GO APIGoogle OAuthGoogle Maps API

Screenshots

More University projects

University

University

AUB Course Planner

A university planning concept for comparing courses, requirements, and semester load.