Boiler is an app that makes it easier for a user to find the restaurants in their area that serve seafood.
We used a MySQL relational database. This allowed us to utilize joining tables to keep track of user details regarding their favorite restaurants.
We used Node.JS Express for our server. (version 14 and up)
Our authentication was done using Google OAuth2. We have a google strategy set up so users must log in with their google account. Once logged in, the user has access to the whole site.
We used three external APIs for this project:
-
Yelp Fusion API - This allowed us to search for restaurants in the category 'Seafood' by location.
-
Accuweather API - This allowed us to get a 5 day forecast based on the city location.
-
Google OAuth2 - This allows us to use Google's OAuth2 feature to authenticate our users with a Google account.
We used MaterialUI and emotion-react for our styling.
The framework we used was React with React hooks.
In the boiler/boiler/config
directory, make a file named `keys.js'. This file needs the following info with your keys added like below:
module.exports = {
api: {
accuweather: 'KEY',
},
yelp: {
clientID: 'ID',
APIkey: 'KEY'
},
googleOAuth: {
APIkey: 'KEY'
},
};
npm install
to install all dependenciesnpm run build:client-dev
to run webpacknpm start
to start the server on port 3000 and initialize the database.