Skip to content

An app to help you stay safe before and during a hike, record your observations of plants and animals you encounter along the way.

Notifications You must be signed in to change notification settings

cramd-greenfield/safetree

Repository files navigation

Greenfield: Safe-Tree Application

Safe-Tree-Logo

SafeTree

Explore confidently with SafeTree! No matter where you are, have the ability to locate hiking trails, discover plants, acquire a knowledge of wildlife, and share the entire experience all at the tip of your fingers.

Features

  • View hiking opportunities
  • Identify harmful/helpful plants
  • Identify local animals
  • Share experiences!

    What frameworks/libraries are used

    Tech Stack

    Client: -> React (Hooks) & Axios
    Server: -> Express
    Database: -> Mysql/Sequelize
    Authentication: -> Passport (Google Strategy)
    Style: -> Material UI

    What software is required to run

    • NPM was used to installed the necessary dependencies for this project.

    npm node 20.12.2

    • The Database was built using MySql and the Sequelize ORM.

    MySql Sequelize

    • The Client side was created with React hooks

    React React-router React-dom React-router-dom

    • Axios was used to communicate with the Server from our Client side.

    Axios

    • Express on the Server side to handle all request handling

    Express Express-session

    • For linting we utilized ESLint with Airbnb rules.

    ESLint (Airbnb Rules)

    • Transpiling was performed from Babel plugins to create compatible code for older browsers.

    @babel/core @babel/preset-env @babel/preset-react babel-loader

    • Bundling for optimization performed by Webpack

    Webpack Webpack-cli Webpack-dev-server

    • The Prettier formatter to maintain clean code for all developers involved

    Prettier

    • Styling created using Material UI and emotion

    @emotion/react @emotion/styled mui/material

    • Lastly for Authentication was performed with the use of Passport and the Google Strategy

    Passport Passport-google-oauth20

    What commands to use to Start

    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

    Closing

    We would like to continue working on what we have initially created in order to learn more and grow experiences!

    Authors & acknowledgements:

  • About

    An app to help you stay safe before and during a hike, record your observations of plants and animals you encounter along the way.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published