A web app that allows users to input places they would like to travel to, and then match with other users who also want to go there!
Log in or create an account, and then click on places you want to travel to in your lifetime. Clicking on these locations will add them to your bucket list. When viewing your bucket list, click on a location to see if you have any mutual friends who also want to go there. If you do, then start arranging some travel plans!
Please try out the deployed app in Heroku, found here.
On the Front End, the app uses Materialize
, jQuery
, AJAX
, and the HTML is rendered using Handlebars
.
On the Back End, the app uses Node.js
and MySQL
. The Node Packages used in the app are Sequelize
for database queries, Express
for serving and routing, Passport
for User Authenication, and bcrypt-nodejs
for hashing user passwords.
For persistent data, the app uses 4 MySQL tables to store the Users
and the places where they want to visit (Cities
, States
, and Countries
). All users are then linked to the places they want to visit in the City-Like
, State-Likes
, and Country-Likes
tables, which are generated by the Sequelize ORM.
If you wish to clone the app down to your local machine...
- Use MySQL Workbench to create a database called
bucketBuddiezDB
:
- The raw SQL query is
CREATE DATABASE bucketBuddiezDB;
.
- Inside the
config
folder, open up theconfig.json
file:
- In the
development
object, add your MySQL localhostpassword
.
- In your terminal,
cd
into the project folder and run:
npm install
to download all node.js dependenciesnpm run setupDB
to migrate/seed the database
- Finally, you can run the programming using:
node server.js
in the terminal to start the node server- And navigating to
localhost:3000
in your browser.
If there are other users who also wish to travel to the location, their email addresses and names will be shown.
Conversely, if our sequelize-js
query finds no other users related with said place, a different message appears.
![no buddy](/screenshots/no buddies.png)