A user-friendly platform where travelers can create trips, request for trip mates, manage trips, and share reviews. The platform provides features for users to manage their trips seamlessly from a personal dashboard.
Here is the link of backend code - Trip Mate Backend Link
Exclusive
- Change your password
- Reset your password if you forgot password. For that you will need a email address that belongs to you.
- Update your profile.
- Explore Popular Trips
- Discover the most popular trips based on ratings and user reviews.
- Browse the latest trips added to the platform.
- See all trips but when you logged in you will not see your created trip in the trip list. Becase you are the host. Surely you will not sent buddy request on your own trip. 😍
1. Dashboard Management
- Users can manage their trips: create, edit, and delete.
- View and respond to incoming trip-mate requests.
- Track outgoing requests sent to join other trips.
- Update personal profile information.
- Share trip reviews and ratings after completion.
2. Advanced Filtering Options
- Filter by Destination: Explore trips by continent or specific destinations.
- Filter by Title or Price Range: Narrow down trips based on a title keyword and minimum-maximum price ranges.
3. Sorting
- Sort trips by:
- Title (alphabetical order)
- CreatedAt (recently added trips)
- Price (ascending/descending)
- Rating (user reviews)
- Freshly Added Trips
4. Pagination
- Optimized page navigation for a seamless user experience.
1. Trip and Review Management
- Admins can view, edit, or delete all trips and user reviews.
2. Destination Management
- Only admins can create, update, or delete official destinations.
3. User Overview
- View all registered users and manage their activities.
4. Admin Profile Update
- Admins can update their personal profile information.
5. Overall Dashboard Overview
- Access a complete overview of trips, reviews, and user activities.
- Frontend: Next.js, TypeScript, TailwindCSS
- Backend: Node.js, Express.js
- Database: MongoDB with Mongoose
- State Management: Redux Toolkit
- Authentication: JWT
- Authorization: Role-based access control (RBAC)
- Pagination & Filtering: Efficient API querying
- Deployment: Vercel
Follow these steps to set up the project locally:
- Clone the repository:
git clone https://github.com/NiharMondal/trip-mate
- Navigate to the project folder:
cd trip-mate
- Install dependencies:
npm install
- Set up environment variables:
- Create a .env.local file in the root directory.
- Add the required environment variables:
NEXT_PUBLIC_BACKEND_URL = "http://localhost:5000/api/v1"
- Start the development server:
npm run dev
- Access the app at http://localhost:3000.
Contributions are welcome! Follow these steps:
1. Fork the project. 2. Create a new branch:
git checkout -b feature/your-feature-name
3. Commit your changes:
git commit -m "Add some feature"
4. Push the branch:
git push origin feature/your-feature-name
5. Open a Pull Request.
This project is licensed under the MIT License.