The Court Project // 2024



Overview
The Court Project is a React Native mobile application designed to streamline tennis court reservations at The Falls of Autry Mill’s tennis facility. The app provides a seamless user experience for booking, modifying, and managing reservations with an intuitive interface and real-time updates.

Role
Full Stack Developer, UI/UX Designer, Product Manager

Tools/Skills
Agile Development, React Native, JIRA, Figma, TypeScript


📱 Key Features

✅ Interactive Scheduling – Users can search for available courts based on time, date, and duration.
✅ Seamless Booking System – Confirm reservations with just a few clicks.
✅ Real-time Availability & Waitlist System – If a user doesn't check in, the next person on the waitlist gets the spot.
✅ User-Friendly Interface – A modern UI that prioritizes simplicity and ease of navigation.
✅ Secure Authentication – Google Firebase handles user authentication and role-based access control.
✅ Cross-Platform Compatibility – Developed in React Native, making it available on both iOS and Android.


🛠️ Tech Stack

Frontend: React Native, TypeScript
Backend: Firestore (NoSQL Database), Firebase Authentication
Authentication: Google’s Firebase for secure login
Data Exchange: JSON over HTTPS
UI Frameworks: NativeBase, React Navigation


🔎 System Design


The app follows a modular architecture to ensure scalability and maintainability:

📌 Static Architecture – A layered structure with clear separation of UI, logic, and data access.
📌 Dynamic Architecture – A well-defined flow where users interact with the app, trigger logic, and update the Firestore database in real-time.

🚀 Security & Performance Considerations:
  • Encryption: Data is encrypted at rest and in transit.
  • Access Control: Role-based authentication restricts user permissions.
  • Optimized Queries: Firestore real-time synchronization ensures fast performance.

🖥️ Key Screens


📅 Court Scheduling Screen – Users enter preferred time slots and see available courts.
🎾 Available Courts Screen – Displays open courts and lets users select one.
✅ Confirm Booking Screen – Summarizes details before finalizing.
📖 Reservations Screen – Shows all active bookings with options to modify, cancel, or check in.
⚙️ User Settings Screen – Allows account management and statistics viewing.