A modern, full-stack travel planning application that helps users discover, plan, and share their adventures around the globe.
GlobeNomad is a comprehensive travel planning platform that combines the power of modern web technologies with intuitive design to create the ultimate travel companion. Whether you're planning a weekend getaway or a month-long adventure, GlobeNomad provides all the tools you need to create, manage, and share your travel experiences.
- 🗺️ Interactive Trip Planning - Create detailed itineraries with drag-and-drop functionality
- 🔍 Smart Destination Discovery - Explore destinations with AI-powered recommendations
- 💰 Budget Management - Track expenses and get cost estimates for your trips
- 🌐 Social Sharing - Share your trips publicly and discover others' adventures
- 📱 Responsive Design - Seamless experience across all devices
- 🔐 Secure Authentication - JWT-based auth with password recovery
- 👥 Admin Dashboard - Comprehensive admin panel for platform management
- 🎨 Modern UI/UX - Beautiful interface with Aceternity UI components
- Framework: Next.js 15.4.6 (App Router)
- Language: TypeScript 5.x
- Styling: Tailwind CSS 4.x
- UI Components: Aceternity UI, Framer Motion
- Icons: Lucide React
- State Management: Apollo Client
- GraphQL Client: Apollo Client 3.13.9
- Forms: React Hook Form with Zod validation
- Framework: NestJS 11.0.1
- Language: TypeScript 5.7.3
- Database: MongoDB with Mongoose ODM
- API: GraphQL with Apollo Server
- Authentication: JWT with Passport.js
- Email: Nodemailer
- Validation: Class Validator & Class Transformer
- Security: bcrypt for password hashing
- Scheduling: NestJS Schedule
- Package Manager: npm
- Code Quality: ESLint, Prettier
- Testing: Jest
- Version Control: Git
- API Testing: GraphQL Playground
Before you begin, ensure you have the following installed:
- Node.js (version 18 or higher)
- npm or yarn
- MongoDB (local or cloud instance)
-
Clone the repository
git clone https://github.com/KushalvDesai/GlobeNomad.git cd GlobeNomad -
Install Backend Dependencies
cd be npm install -
Install Frontend Dependencies
cd ../fe npm install -
Environment Setup
Create
.envfile in thebedirectory:# Database MONGODB_URI=mongodb://localhost:27017/globenomad # JWT JWT_SECRET=your-super-secret-jwt-key-here # Email Configuration (for password reset) EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_USER=your-email@gmail.com EMAIL_PASSWORD=your-app-password EMAIL_FROM=noreply@globenomad.com # Frontend URL FRONTEND_URL=http://localhost:3001
Create
.env.localfile in thefedirectory:NEXT_PUBLIC_BACKEND_URL=http://localhost:3000/graphql
-
Start the Application
Start the backend server:
cd be npm run start:devIn a new terminal, start the frontend:
cd fe npm run dev -
Access the Application
- Frontend: http://localhost:3001
- Backend GraphQL Playground: http://localhost:3000/graphql
GlobeNomad/
├── be/ # Backend (NestJS)
│ ├── src/
│ │ ├── admin/ # Admin management module
│ │ ├── activities/ # Activities and categories
│ │ ├── auth/ # Authentication & authorization
│ │ │ ├── auth.service.ts
│ │ │ ├── jwt.strategy.ts
│ │ │ └── email.service.ts
│ │ ├── trip/ # Trip management
│ │ │ ├── trip.service.ts
│ │ │ ├── trip.resolver.ts
│ │ │ └── schema/
│ │ ├── user/ # User management
│ │ │ ├── user.service.ts
│ │ │ ├── user.resolver.ts
│ │ │ └── schema/
│ │ ├── app.module.ts
│ │ └── main.ts
│ ├── package.json
│ └── schema.gql # Generated GraphQL schema
│
├── fe/ # Frontend (Next.js)
│ ├── src/
│ │ ├── app/ # Next.js App Router
│ │ │ ├── page.tsx # Landing page
│ │ │ ├── profile/ # User profile
│ │ │ └── reset-password/ # Password reset
│ │ ├── components/ # React components
│ │ │ └── ui/ # UI components
│ │ ├── graphql/ # GraphQL queries & mutations
│ │ │ ├── queries.ts
│ │ │ ├── mutations.ts
│ │ │ └── types.ts
│ │ └── lib/ # Utilities
│ ├── public/ # Static assets
│ └── package.json
│
└── README.md # This file
npm run start:dev # Development mode with hot reload
npm run start:prod # Production mode
npm run build # Build for production
npm run test # Run tests
npm run test:e2e # Run end-to-end tests
npm run lint # Lint codenpm run dev # Development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Lint code- User registration and login
- JWT-based authentication
- Password reset via email
- Role-based access control (User, Admin, Super Admin)
- Create and manage detailed trips
- Interactive itinerary builder
- Budget estimation and tracking
- Public/private trip sharing
- Trip discovery and exploration
- User profiles with customizable information
- Trip history and statistics
- Social features for sharing experiences
- Responsive design with Tailwind CSS
- Beautiful animations with Framer Motion
- Premium UI components from Aceternity UI
- Dark/light theme support
- User management and statistics
- Trip monitoring and moderation
- Platform analytics and insights
This project was developed by a talented team of developers:
![]() Yash Bharvada Backend Developer |
![]() Aaleya Boxwala Frontend Developer |
![]() Kushal Desai Frontend Developer |
![]() Shrey Lakhataria Backend Developer |
- Build the application:
npm run build - Set production environment variables
- Deploy to your preferred platform (Heroku, AWS, DigitalOcean, etc.)
- Build the application:
npm run build - Deploy to Vercel, Netlify, or any static hosting service
- Set secure JWT_SECRET
- Configure production MongoDB URI
- Set up email service credentials
- Update CORS settings for production URLs
We welcome contributions to GlobeNomad! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/AmazingFeature - Commit your changes:
git commit -m 'Add some AmazingFeature' - Push to the branch:
git push origin feature/AmazingFeature - Open a Pull Request
- Follow TypeScript best practices
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Follow the existing code style
This project is licensed under the MIT License - see the LICENSE file for details.
- NestJS - For the robust backend framework
- Next.js - For the amazing React framework
- Aceternity UI - For beautiful UI components
- Apollo GraphQL - For GraphQL implementation
- Tailwind CSS - For utility-first CSS
If you have any questions or need help, feel free to reach out:
- Project Repository: GitHub
- Issues: Report Issues
- Email: shreylakhtaria@gmail.com
Made with ❤️ by the GlobeNomad Team
Happy Traveling! 🌍



