Travel-Geek
Welcome to Travel-Geek! This application was born from the necessity of having a convenient tool to effectively manage various aspects of your travel experience. With Travel-Geek, you can effortlessly track your personal travel budget, monitor car rental expenses, manage airplane ticket costs, and keep tabs on your food expenditures – all in one place. Say goodbye to travel budgeting stress and let Travel-Geek simplify your journey.
- Clone the repository: git clone
- Install dependencies: npm install
- Set up your environment variables
- Initialize the database: npm run
- Run MySql and migrate to Souce db:migrate
- Start the server: npm start
To run this project locally, follow these steps:
- Clone the repository: git clone
- Install dependencies: npm install
- Set up your environment variables
- Initialize the database: npm run db:migrate
- Start the server: npm start
This project is licensed under the MIT License.
The project follows the MVC (Model-View-Controller) paradigm for a structured organization:
- controllers/: Contains route handlers and business logic.
- models/: Defines Sequelize models and schema.
- views/: Handlebars.js templates for the UI.
- public/: Static assets (CSS, images, etc.).
- routes/: Express.js route definitions.
- config/: Configuration files.
- middlewares/: Custom middleware functions.
- db/: Database-related files (migrations, seeders).
Environment Variables - Sensitive information, including API keys and database credentials, are stored as environment variables for security. We set up the files in the root directory with the following variables:
- DB_HOST=your-database-host
- DB_USER=your-database-username
- DB_PASS=your-database-password
- SESSION_SECRET=your-session-secret
Go Travel-Geek page (Heroku deployment page) Create a User Accout Go to Budget page and type in a budget Clink on Links to outside services
CSS JavaScript Node.js Express.js Used Handlebars.js MySQL Swquelize ORM GET & POST routes Created a RESTful API Deployed in Heroku
The project follows the MVC (Model-View-Controller) paradigm for a structured organization:
- controllers/: Contains route handlers and business logic.
- models/: Defines Sequelize models and schema.
- views/: Handlebars.js templates for the UI.
- public/: Static assets (CSS, images, etc.).
- routes/: Express.js route definitions.
- config/: Configuration files.
- middlewares/: Custom middleware functions.
- db/: Database-related files (migrations, seeders).
Use Node.js and Express.js to create a RESTful API. Use Handlebars.js as the templating engine. Use MySQL and the Sequelize ORM for the database. Have both GET and POST routes for retrieving and adding new data. Be deployed using Heroku (with data). Use at least one new library, package, or technology that we haven’t discussed. (extra credit) Have a polished UI. Be responsive. Be interactive (i.e., accept and respond to user input). Have a folder structure that meets the MVC paradigm. Include authentication (express-session and cookies). Protect API keys and sensitive information with environment variables. Have a clean repository that meets quality coding standards (file structure, naming conventions, follows best practices for class/id naming conventions, indentation, quality comments, etc.). Have a quality README (with unique name, description, technologies used, screenshot, and link to deployed application). Finally, you must add your project to the portfolio that you created in Module 2. -->
[project page - Heroku] Travel Geek [GitHub page] Github Page
[Stack Overflow] Stack Overflow [sweetalert2] sweetalert2 [Mini-Project: Model-View-Controller (MVC)] Mini-Project: Model-View-Controller (MVC) [Michael Seaman - Linkedin] Michael Seaman
- Vinita Navani
- Laurel Kidd
- Tina Huang
- Audrey Laititia Kacoutie Veh
- Oksana Tatsyak
- Alicia Hermez