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.
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.
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.
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.
- Clone the repository:
git clone https://github.com/firaslamouchi21/campingTN.git
- Install Dependencies:
npm install
- Environment Setup:
Create a
.envfile and configure your Firebase keys and Database credentials. - Run the App:
npx react-native run-android # or run-ios