Your all-in-one platform for connecting with verified travellers heading to the same destination. Built with Next.js, TypeScript, and modern web technologies for a seamless, secure experience.
travellersmeet helps solo travellers find and connect with others heading to the same destination around the same dates. Upload proof-of-travel, get verified, and discover other verified travellers in your trip window.
- ✅ Verified Travellers Only — Upload travel tickets to get verified. Only verified users can view other profiles.
- 🔒 Privacy-First — Your data stays secure. Visibility limited to matching destination/date windows.
- 🎯 Smart Matching — Find travellers with similar dates and destinations automatically.
- 🚀 Modern Tech Stack — Built with Next.js 14, TypeScript, Prisma, and PostgreSQL.
- 📱 Progressive Web App — Install on any device with offline support.
- 🌐 Open Source — Community-driven development. Contributions welcome!
Before you begin, ensure you have:
- Node.js 18.18+ and npm 9+
- PostgreSQL database (local or cloud)
- Git for version control
git clone https://github.com/singh-odyssey/travellers.git
cd travellersnpm installCreate a .env file in the project root:
DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DBNAME?schema=public"
NEXTAUTH_SECRET="generate-a-strong-secret"
NEXTAUTH_URL="http://localhost:3000"
# Optional: Google Maps API (for route visualization)
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY="your-google-maps-key"💡 Tip: Generate a secure secret with
npm run generate:secretor useopenssl rand -base64 32
npm run db:pushnpm run devVisit http://localhost:3000 🎉
- Sign Up — Create an account with email and password
- Upload Ticket — Submit your travel proof (ticket, booking confirmation)
- Get Verified — Admin verification process (manual for now, automated later)
- Match & Connect — Discover travellers with matching destinations and dates
- Chat & Plan — Connect with verified travellers (messaging coming soon!)
| Technology | Purpose |
|---|---|
| Next.js 14 (App Router) | React framework with SSR & file-based routing |
| TypeScript | Type-safe development |
| React 18 | UI library with modern features |
| Tailwind CSS | Utility-first CSS framework |
| Technology | Purpose |
|---|---|
| NextAuth v5 | Authentication with credentials provider |
| Prisma ORM | Type-safe database queries & migrations |
| PostgreSQL | Relational database |
| bcryptjs | Secure password hashing |
| Technology | Purpose |
|---|---|
| Vitest | Unit testing framework |
| ESLint | Code linting |
| Prettier | Code formatting (via ESLint) |
| Docker | Containerized development |
| Technology | Purpose |
|---|---|
| Vercel | Production hosting |
| Neon/Supabase | PostgreSQL hosting |
travellers/
├── 📁 src/
│ ├── app/ # Next.js app router pages & API routes
│ │ ├── (auth)/ # Authentication pages (signin, signup)
│ │ ├── api/ # Backend API endpoints
│ │ ├── contact/ # contact page
│ │ ├── dashboard/ # User dashboard
│ │ ├── routes/ # Route management & visualization
│ │ └── upload/ # Ticket upload flow
│ ├── components/ # React components
│ ├── lib/ # Utility libraries (auth, prisma, etc.)
│ ├── state/ # State management
│ └── styles/ # Global styles
├── 📁 prisma/ # Database schema & migrations
├── 📁 public/ # Static assets
├── 📁 docs/ # Documentation
└── 📁 scripts/ # Utility scripts
We welcome contributions from developers of all skill levels!
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/travellers.git - Create a branch:
git checkout -b feat/amazing-feature - Make your changes and commit:
git commit -m "feat: add amazing feature" - Push to branch:
git push origin feat/amazing-feature - Submit a Pull Request with a detailed description
- 📝 Write clear commit messages (Conventional Commits)
- ✅ Add tests for new features
- 📖 Update documentation as needed
- 🧹 Run
npm run lintbefore committing - 🔍 Keep PRs focused and small
👉 Read the full guide: CONTRIBUTING.md
- Tech Stack — Detailed technology overview
- Contributing Guide — How to contribute
- Code of Conduct — Community guidelines
- Backend Setup — Backend configuration
- PWA Setup — Progressive Web App features
- Production Database — Production deployment
We appreciate all contributions from our amazing community! 🎉
Made with contrib.rocks
Want to be featured here? Check out our Contributing Guide!
Join our community and stay connected!
- 💬 Discussions: GitHub Discussions
- 🐛 Issues: Report bugs or request features
- 📧 Email: singh-odyssey@github.com
If you find this project helpful, please give it a ⭐️ on GitHub! It helps others discover the project.
This project is licensed under the MIT License — see the LICENSE file for details.
MIT License
Copyright (c) 2025 travellersmeet contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...
Built with ❤️ by the community using:
- Next.js — The React Framework
- Prisma — Next-generation ORM
- NextAuth.js — Authentication for Next.js
- Tailwind CSS — A utility-first CSS framework
- Vercel — Deployment and hosting
Get Started • View Demo • Report Bug
Made with 💙 by singh-odyssey and contributors
⭐️ Star us on GitHub — it helps! ⭐️