🌿 NatureTrip – Flight Booking Engine
NatureTrip is a modern, full-stack flight booking engine built with React, Node.js, Express, and Prisma. It delivers a seamless travel experience through real-time flight search, fare comparison, traveler management, and secure payment processing, all wrapped in a clean, minimal, and responsive UI inspired by top-tier travel platforms.
🚀 Tech Stack
- Frontend: React.js, React Router, Context API, Tailwind CSS
- Backend: Node.js, Express.js, Prisma ORM
- Database: PostgreSQL / MySQL (configurable)
- Authentication: JWT, bcrypt
- Payment Integration: Stripe API
- APIs: Amadeus / AviationStack (for flight data)
- Deployment: Render / Vercel / Railway
✨ Key Features
🔍 Real-Time Flight Search: Fetch and display flight options dynamically with live pricing and availability. 💳 Secure Payments: Integrated with Stripe for safe and easy checkout. 👤 User Authentication: JWT-based signup/login, password encryption, and role-based access. 🧳 Traveller Management: Store passenger details, preferences, and history for faster future bookings. 🧾 Fare Summary & Filters: Smart fare breakdown with date, airline, and price filters. 🧠 Optimized Backend: Built with Prisma ORM and Express middleware for clean, scalable architecture. 🖥️ Modern UI: Built with React and Tailwind for a fast, mobile-responsive experience. 📬 Email Notifications: Automatic confirmation emails on successful bookings.
🧩 Architecture Overview frontend/ ├── src/ │ ├── components/ │ ├── pages/ │ ├── context/ │ ├── services/ │ └── App.js
backend/ ├── routes/ ├── controllers/ ├── middleware/ ├── prisma/ └── server.js
-
Frontend: React handles all client-side routing and data fetching.
-
Backend: Node.js + Express serve REST APIs with Prisma ORM for database operations.
-
Database: PostgreSQL ensures reliability and scalability.
-
Integration: Stripe for payments, AviationStack/Amadeus for flight data.
🧠 System Flow
- User logs in or creates an account.
- Enters destination, date, and number of travelers.
- System fetches flight data via API and shows available options.
- User selects a flight → adds traveler details → reviews fare summary.
- Proceeds to secure payment via Stripe.
- Booking details stored in database, and confirmation email sent automatically.
🧪 Installation & Setup
- git clone https://github.com/Mayankaggarwal8055/naturetrip.git
- cd naturetrip
- cd backend && npm install
- cd ../frontend && npm install
- DATABASE_URL=your_database_url
- JWT_SECRET=your_secret
- STRIPE_SECRET_KEY=your_stripe_key
- API_BASE_URL=flight_api_url
- cd backend && npm run dev
- cd ../frontend && npm start
- 🛠️ Future Enhancements
- 🧭 Implement route optimization and multi-leg flight planning
- 📱 Launch progressive web app (PWA) version
🤝 Contributing
Contributions, ideas, and feedback are welcome! Fork the repo, make your changes, and submit a pull request.
📄 License
This project is licensed under the MIT License — free to use, modify, and distribute.
💚 Author
Mayank Aggarwal Full Stack Developer