Trip Tales is a web application that allows users to design their travel journeys by entering destinations. The application leverages OpenAI to provide three activity tips for each destination, helping users plan and find inspiration for their trips.
This project initially started as a planner app but has currently been focused on being a trip creation tool with a growing scope. The ultimate goal is to evolve into a comprehensive travel planner app with AI support.
- User-friendly interface: The front end of Trip Tales is built using standard HTML, CSS, and JavaScript, with Bootstrap and EJS templates for improved UI display.
- User management: Users can sign up and log in to Trip Tales. The back end, built with Express.js, utilizes sessions for session management and offers features like sign in, sign up, and OAuth login/signup.
- Trip creation and management: Once logged in, users can create, edit, or delete trips. By entering destinations, users receive three activity tips generated by OpenAI for each destination.
To use Trip Tales, follow the steps below:
- Create a Profile: Users need to create a profile on the app or log in using their OAuth2 Google/GitHub accounts.
- Create a Trip: Once logged in, users can create a trip by entering the dates they wish to travel and adding a list of destinations. Submit the trip to save it.
- Explore Home Page: The home page will display a list of trips associated with each location. Users can view, edit, or delete the trip from this menu.
Please note that some features may be available only to authenticated users.
Trip Tales provides the following APIs:
/login
: POST request to authenticate a user./logout
: POST request to log out a user./
: GET request to the home page. The content rendered depends on whether the user is logged in or not./api/users
: GET request to retrieve a list of all users./api/trips
:- GET request to retrieve a list of trips associated with the user's account.
- POST request to add a trip to the database associated with the user.
- PUT request to update a trip associated with the user.
- DELETE request to delete a trip with the provided ID.
/api/sessions
:- GET request to verify the session and retrieve user data associated with it. Can be used to secure routes.
- POST request to register a user and add session data.
Please refer to the API documentation for detailed information on each endpoint, including request formats and responses.
Trip Tales is built using the following technologies and frameworks:
- Express.js: version "^4.18.2"
- Express sessions: version "^1.17.3"
- Bootstrap: version 5.2.3
- OpenAI
- Mongoose
- MongoDB: version 5.6
Please ensure you have these dependencies installed before running Trip Tales.
For any questions, issues, or support related to Trip Tales, please contact us
Feel free to modify or enhance this README file to suit the specific needs of your project.