- Missing some of the current .env variables that should be there
- Plants page is not currently working because the routes have not been moved to /api/plants. And don't know the api used.
SafeTree is a play on the word 'safety' for user's that enjoy the outdoors!
Client: -> React (Hooks) & Axios
Server: -> Express
Database: -> Mysql/Sequelize
Authentication: -> Passport (Google Strategy)
Style: -> Material UI
NPM was used to installed the necessary dependencies for this project.
The Database was built using MySql and the Sequelize ORM.
The Client side was created with React hooks
Axios was used to communicate with the Server from our Client side.
Express on the Server side to handle all request handling
For errors and specific syntax rules we utilized ESLint with Airbnb rules.
Transpiling was performed from Babel plugins to create compatible code for older browsers.
Bundling for optimization performed by Webpack
The Prettier formatter to maintain clean code for all developers involved
Styling created using Material UI and emotion
For the google maps you need to get a google key for the react-google-maps api
Lastly for Authentication was performed with the use of Passport and the Google Strategy
1: Start MySql server/service
MAC - Homebrew
mysql.server start
Windows/WSL
sudo service mysql start
2: npm start: Start the server utilizing Nodemon (1 terminal sustained)
3: npm run build: Start the transpiling & bundling process and continuously runs while developing until stopped. (1 Terminal sustained)
4: mysql -uroot -> create database safetree: Create a local safetree database to store data.
5: npm run seed: Create fake data to test operations throughout the development process.
6: Restart server so the database can accept the seed data
Google Developer Console GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GOOGLE_MAPS_API_KEY= Visual Crossing VISUAL_CROSSING_API_KEY=
We would like to continue working on what we have initially created in order to learn more and grow experiences!
Operation Spark instructors
& Cody D. Allyn M. Mike S. Darius C. Rodman L.