Xplore was created to eliminate multiple browser tabs, excel spreadsheets, or handwritten notes for trip planning. With Xplore you can find all the information you need in one location to plan your trip. As an Xplorer you will be able to easily select from one of our cities which will populate you with the top restaurants and sights in the area and a place plan your trip. Xplore wants our Xplorers to spend less time searching and more time exploring.
- MySQL database with one to many, many to one, and many to many relationships
- Materialize is a modern responsive front-end framework based on Material Design
- Handlebars is used to dynamically create HTML to render the page view
- Each time the page is refreshed by a request or the user, HTML is dynamically rendered based on a response from the database/server
- Model View Controller(MVC) design pattern is used to organize code
- Model - contains a model for the user, city, index, restaurnts, sights, and trips ORM
- View - contains HTML files that utlize Handlebars
- Controller - contains routes for GET and POST requests to get data from the database, add data to the database, and update the database
- Handlebars - a semantic templating framework for JavaScript and HTML
- Materialize - a modern front-end framework for responsiveness
- Animate CSS - a library of ready-to-use animations for CSS
- Express - a back-end web application framework for Node.js
- MySQL - a relational database management system
- Sequelize - a promise-based Node.js ORM for MySQL and other databases
- Sequelize CLI - Node.js package for interfacing with Sequelie from the command line
- Node.js - a JavaScript runtime environment that allows JavaScript to be run in command line
- JavaScript - code that creates the logic and structure of the program
- Heroku - a cloud platform for deploying web applications
- JawsDB - database service for deploying in Heroku
- Git - version control system to track changes in source code
- GitHub - hosts repository and deploys page on GitHub
Xplore - Xplore
- The database is comprised of seven models with one-to-many, many-to-one, and many-to-many relationships.
-
City Controller API routes. One GET route for querying all cities from the database. Another GET route for querying specific cities and their respective restaurants and sights.
-
Trip Controller API route. GET route for querying all trips from the database and retrieving associated user, city, restaurants, and sights.
-
Trip Controller API route. GET route with two for loops to add sights and restaurants to a trip
-
Seeder file to populate the database with information for users, cities, sights, restaurants, and trips
- Font Awesome - logos
MIT License
Copyright (c) [2020] [Rebecca Eng, Kelly Stone, Andrew Kosel]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.