Skip to content

EhsanAsh/TravIs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TravIS: Travel Itinerary Management Application

latest packaged version(s)

TravIS

GitHub license License: MIT

Visual Studio Code HTML5 JavaScript jQuery NodeJS MySQL Git Markdown Nodemon Sequelize ESLint NPM Chart.js Express.js Insomnia Heroku


Description

TravIs is a web-based application designed to simplify travel itinerary management for frequent travelers. This application provides users with the ability to effortlessly create and manage their trip itineraries, ensuring efficient travel planning and organization. Travelers can create trips, add destinations and activities, access travel recommendations, engage with the travel community, track expenses, and more.


Table of Contents


Installation

Option 1: Using Node.js

To get started with TravIs on your local machine, follow these steps:

  1. Clone the repository to your local machine.
  2. Navigate to the project directory.
  3. Install the required dependencies.
  4. Set up your environment variables in a .env file, including database configuration and any API keys.
  5. Initialize the database schema and seed data.
  6. Start the application.
  7. Access the application in your web browser at http://localhost:3001.

Option 2: Live Heroku Site

Click on the following link:

Link to deployed application on Heroku


Usage

TravIs offers an intuitive interface for managing trip itineraries. Here's how to use the application:

  1. Create a Trip:
  • Log in to TravIs.
  • Navigate to the "Create Trip" section.
  • Input trip details, including name, start date, end date, and a brief description.
  1. Edit Trip Details:
  • If you've already created a trip, you can edit the trip details by updating the trip name, start date, end date, and description.
  1. Build an Itinerary:
  • Add destinations, activities, accommodation, restaurants, and transportation methods to your itinerary.
  • Specify details for each item, such as name, date, time, location, and additional notes.
  1. Edit Itinerary Items:
  • While editing an existing itinerary, you can make changes to any itinerary item, and the changes will be saved and reflected in the itinerary.
  1. View Images in Itinerary:
  • If you've added images to your itinerary items, you can view the relevant images associated with each item.
  1. Travel Recommendations:
  • When planning a trip, check the "Recommendations" section for a specific destination to see suggestions for activities, attractions, restaurants, and accommodations.
  1. Detailed Recommendations:
  • Click on a recommendation to access detailed information, user reviews, and the option to make a booking if available.
  1. Travel Community and Social Features:
  • Share your itinerary with others by generating a unique link or inviting specific users to view it.
  • Engage with the travel community by posting on the forum board, categorizing your posts, and interacting with other users' posts and comments.
  1. Expense Tracker:
  • Add costs to your itinerary items.
  • View the "Expense Tracker" section to see a breakdown of the total trip cost, categorized by items such as accommodation, transportation, and activities.
  • Update costs while editing your itinerary, and the expense tracker will recalculate and reflect the updated costs.

Demo

Click on the Following link: Link to deployed application on Heroku


Technologies Used

Frontend

  • HTML/CSS: Crafted to provide a user-friendly and responsive interface.
  • JavaScript: Implemented for dynamic content updates, user interactions, and API requests.
  • Handlebars.js: Used for efficient dynamic content generation.

Backend

  • Node.js & Express.js: Handled backend logic, server configuration, routing, and API management.
  • Express-session & connect-session-sequelize: Ensured a personalized user experience through effective session management.
  • bcrypt: Guaranteed data transmission security and user authentication.
  • Chart.js, Multer npm package, Amadeus npm package, body-parser npm package: Leveraged various libraries and packages to enhance functionality and user experience.

Database

  • MySQL & Sequelize ORM: Stored and managed user data, trip details, itineraries, and other essential data using a relational database management system.

Security

  • Dotenv: Securely stored and managed sensitive information, such as API keys, for enhanced data protection.
  • Secure Data Transmission: Implemented HTTPS to ensure secure data transmission and enforced data validation and sanitation to prevent XSS and SQL injection attacks.

Features

  • Effortless trip itinerary creation and management.
  • Comprehensive travel recommendations for activities, attractions, restaurants, and accommodations.
  • Engaging travel community and social features, including forum boards.
  • Expense tracking with a breakdown of costs by category.
  • Secure user authentication and data protection.

Credits

We would like to extend our gratitude to the creators and contributors of the following resources, which have been instrumental in the development of TravIS:


Contributing

Contributions to TravIS are welcome! Feel free to check the issues page for open tasks or propose new features.


Testing

The application's functionality meets the outlined acceptance criteria and has been tested manually.


License

This project is licensed under the MIT License - see the LICENSE file for details.


Contact

  • If you have any questions or feedback regarding TravIs, please reach out to us at TravISGmail. We value your input and look forward to assisting you in your travel planning journey. Safe travels!
  • You can also visit our GitHub: GitHub

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 61.1%
  • Handlebars 21.3%
  • CSS 17.6%