Skip to content

Latest commit

Β 

History

History
86 lines (45 loc) Β· 1.99 KB

File metadata and controls

86 lines (45 loc) Β· 1.99 KB

πŸ•οΈ Camping TN – Real-Time Mobile Booking Solution

Camping TN is a full-featured cross-platform mobile application designed to revolutionize the outdoor tourism experience in Tunisia. Built with React Native and Node.js, the platform provides real-time availability, secure booking workflows, and an offline-first user experience.

πŸš€ Key Features

Real-Time Booking: Instant availability checks and reservation management using Socket.io integration.

Offline-First Experience: Seamless data access even in remote areas via advanced caching and offline-sync capabilities.

Secure Authentication: Robust user verification and session management powered by Firebase.

Performance Optimized: Advanced database indexing and API rate limiting to handle high-traffic booking periods.

  • Interactive Maps: Integration of geolocation services for easy campsite discovery.

πŸ› οΈ Tech Stack

Frontend: React Native, Redux for state management.

Backend: Node.js, Express.js.

Real-time: Socket.io / WebSockets.

Database: MySQL with Sequelize ORM and Firebase for cloud services.

Infrastructure: Dockerized environment for consistent deployment.

πŸ—οΈ Architecture & Engineering

This project was built with a focus on scalability and security:

API Rate Limiting: Implemented to prevent service abuse and ensure stability.

Database Optimization: Structured query indexing to reduce latency during concurrent booking requests.

Containerization: Fully Dockerized backend to streamline the CI/CD pipeline and ensure environment parity.

🏁 Getting Started

  1. Clone the repository:
git clone https://github.com/firaslamouchi21/campingTN.git
  1. Install Dependencies:
npm install
  1. Environment Setup: Create a .env file and configure your Firebase keys and Database credentials.
  2. Run the App:
npx react-native run-android # or run-ios