ExpertBooking is a beautifully crafted mobile application designed to seamlessly bridge the gap between people seeking knowledge and top-tier experts. Built with a modern dark-themed aesthetic, fluid animations, and real-time connectivity, it provides an unparalleled user experience from discovery to booking.
- Framework: React Native & Expo Router (File-based routing)
- Language: TypeScript
- Animations: React Native Reanimated
- Styling: Custom Design System (Premium Dark Theme, Glassmorphism)
- Data Fetching: Axios & Custom React Hooks
- Form Handling: React Hook Form & Zod
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB & Mongoose
- Real-time Sync: Socket.io (for instant slot synchronization)
- Pagination: Mongoose-Paginate-V2
The platform operates on a decoupled Client-Server Architecture:
- Presentation Layer (Expo Client): Handles immersive UI/UX, conditional animations (like our custom animated splash screen), and global state.
- Application Layer (Express Server): Contains the core business logic, structured route controllers, strict data validation middleware, and WebSockets.
- Data Layer (MongoDB): A flexible NoSQL database storing curated expert profiles, dynamic availability slots, and immutable booking records.
- Discovery & Pagination: The mobile app queries the backend
/expertsAPI using infinite-scroll logic, loading 10 profiles at a time for optimal performance. - Booking Ecosystem: Users filter by category, view rich expert profiles, and select available time slots.
- Real-Time Engine: When a booking is confirmed, Socket.io broadcasts the updated slot availability, instantly disabling that specific time slot for all other active users without requiring a pull-to-refresh.
Here is a glimpse of the premium interface and user flows:
---- Node.js (v18+)
- MongoDB Instance (Local or Atlas)
- Expo CLI (
npm i -g expo-cli)
git clone https://github.com/Manjit-dev11/ExpertBooking.git
cd ExpertBookingcd expert-booking-backend
npm install
cp .env.example .env
# Start the server
npm start# Return to the project root
cd ..
npm install
# Start the Expo development server
npx expo startThis project is licensed under the MIT License.







