Code Monkey home page Code Monkey logo

fmm_node_react_app's Introduction

Find My Market - Web App

Node.js/Express using MongoDB as a backend that points to a ReactJS client-side app utilizing embedded Google Maps.


drawing


What It's About

The ultimate goal of this web app to provide a one-stop shop for anyone looking for Farmers Markets in their area. Additionally, registered users can favorite a market to be saved for later reference. A zoom-to feature allows the registered user to quickly locate any favorites, while clicking on any market on the map provides a list categories that are available for purchage. All data is sourced from the USDA API and cleaned for quicker, more reliable results.

Why I Did It

The project was for an iOS app, so I wanted to go web for practice. I also wanted to learn ReactJS framework on the frontend while expanding my knowledge with Node.js on the backend. Given that the proof of concept was essentially built by the project team already, it made focusing on the frontend more enjoyable.

The FindMymarket model has been super enjoyable since first conceived for the school project. The concept of the application just makes sense, and it's possiblities are vast. Also, the datasets are large and the importance of efficiency is at a higher threshold.

Perfect for practice.

Challenges

  • GoogleMaps inside of React framework. There are a few packages out there to help which made it easier, but custom icons and rendering speed standards were a great exercise in learning something completely new.
  • Request overload when maneuvering the map
  • Effeciently handling favorites within React state

Wins

  • Makes ultra fast map rendering without glitching, and prioritized Z-index.
  • Zoom To feature on registered user's favorites (map zooms to location)
  • Implemented State and Hooks within React. (Hooks are awesome!)
  • Created a generally functional UI that applies text-resizing based on viewing device.

Future Goals

  • Develop a text or calendar integrated feature to remind registered users of upcoming faavorited markets.
  • Background workers for updating and maintaining market info based on USDA FMID.
  • Market Portal login to further describe/add info or photos about their market. (Security challenges)

Install

clone directory

cd api
npm install
npm start

new tab
cd ../client
npm install
npm start

drawing drawing

fmm_node_react_app's People

Contributors

colintalex avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.