LOCAVORI
3-week sprint + 2 week break
Locavori is a full-stack, web application that gives consumers who love to find and learn about local artisan makers. Makers are able to create a profile where they can tell their story, share photos, and direct users to their maker websites and social media. Users are able to search by product category and location, view maker profiles including their featured photos and primary business categories. Users are able to “favorite” makers and see them displayed in a list on their favorites page.
This version uses React, Redux, Express, Passport, and PostgreSQL (a full list of dependencies can be found in package.json
).
Before you get started, make sure you have the following software installed on your computer:
- Node.js
- PostrgeSQL
- Nodemon
- [GoogleCloudPlatformAccount] (https://console.developers.google.com/)
- Enable the following API's:
- Maps Javascript API
- Distance Matrix API
- Places API
- Geocoding API
- Service Usage API
- Enable the following API's:
Create a new database called locavori
and run: psql locavori < database.sql
in your terminal
If you would like to name your database something else, you will need to change locavori
to the name of your new database name in server/modules/pool.js
(Line 33)
- Run
npm install
- Create a
.env
file at the root of the project and paste this line into the file:While you're in your newSERVER_SESSION_SECRET=superDuperSecret
.env
file, take the time to replacesuperDuperSecret
with some long random string like25POUbVtx6RKVNWszd9ERB9Bb6
to keep your application secure. Here's a site that can help you: https://passwordsgenerator.net/. If you don't do this step, create a secret with less than eight characters, or leave it assuperDuperSecret
, you will get a warning. - Start postgreSQL if not running already by using
brew services start postgresql
- Run
npm run server
- Run
npm run client
- Navigate to
localhost:3000
- React
- React Hooks
- Redux
- Redux Sagas
- Node.js
- Express
- PostgreSQL
- Google Maps Javascript API
- Google Distance Matrix API
- Google Geocoding API
- Google Places API
- @react-google-maps/api
- use-places-autocomplete
- @reach/combobox
- Bootstrap (React)
- Font Awesome
- Sam Mahler - [email protected]
- Emma Song Fisher - [email protected]
- Stav Kidron - [email protected]
- Beau Weise - [email protected]
- Thomas Brookshaw - [email protected]