TripTease is a collaborative travel planning platform designed to streamline the group travel planning process. Organizing trips with friends, family, or colleagues can become chaotic and stressful with disagreements and indecision about where to go, what to do, or where to eat. TripTease solves this problem by offering a shared space where users can suggest trip ideas and vote on them in real-time. This ensures that decisions are made democratically, reducing friction and making trip planning more enjoyable.
The platform addresses the frustration of planning group trips by centralizing suggestions, organizing activities by location, and enabling users to upvote or downvote activities. TripTease helps groups reach consensus smoothly, preventing endless discussions and confusion over plans.
We envision TripTease as the go-to platform for planning group trips, making collaboration simple, transparent, and stress-free. The platform ensures equal input from all members while focusing on enhancing the travel experience by streamlining decision-making. By giving users the ability to suggest activities, vote on them, and mark them as completed, TripTease will empower users to enjoy the trip planning process rather than dread it. Our MVP focuses on core features that enable trip creation, activity suggestion, and voting, with plans for post-trip summaries and rating systems.
TripTease was conceived as a response to the difficulties many people face when organizing group trips. Whether planning vacations with friends, reunions with family, or corporate retreats, discussions often become frustrating, resulting in confusion and indecision. Our team sought to build a platform that centralizes the planning process, giving every participant a clear and structured way to contribute to the trip.
The platform's journey began with this idea: to solve group decision-making challenges. Over time, TripTease evolved into a feature-rich platform, offering suggestions, real-time voting, and easy-to-use tools that bring joy back into trip planning.
Visit the following link to see the requirements you must follow to contribute to the project. CONTRIBUTING.md
Start by cloning the project repository to your local machine:
git clone https://github.com/agiledev-students-fall2024/4-final-project-trip-tease.git
To run the application locally, start by setting up both the backend and frontend. First, navigate to the backend directory, install the dependencies by running npm install (only required once), and then start the backend server using npm start. This will launch the backend server on port 3002.
Next, move to the frontend directory, install its dependencies by running npm install, and start the frontend server with npm start. This will launch the frontend server on port 3000.
Once both servers are running, you can access the application by visiting http://localhost:3000 for the frontend and http://localhost:3002 for the backend.
-
The frontend is configured to proxy API requests to the backend server running on port 3002. This proxy configuration, specified in the
frontend/package.jsonfile, routes requests from the frontend athttp://localhost:3000to the backend onhttp://localhost:3002. This setup helps handle API requests seamlessly without requiring additional CORS configurations. -
Ensure that the
backenddirectory contains a.envwith environment variablePORT=3002 -
The back-end contains a lot of redundant routes that aren't implemented or needed on the front-end. This is on purpose, some are written in case more front-end features should be implemented in the future, the rest are just useful for locally testing/using the overall functionality of the back-end.
To run the tests for our code, follow these simple steps:
- navigate to the backend:
cd back-end - run the tests + show the coverage report:
npm run coverage - Validation tests show up in the console (in back-end/validators)
Testing authentication We have a pre-existing user profile for testing (with pre-populated trips, activities, etc.) if you would like to use. You can also create your own account of course: Username:john_doe Password: password123
Our App is now fully deployed with a digital Ocean Droplet. We set up Nginx, HTTPS (certs), and the 'tripteasenow.com' domain name for our web app!
View it live here! tripteasenow.com