Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.
/ Mealize Public archive

Mealize is a React and Flask app that aims to reduce food scarcity and waste by connecting businesses to nonprofits.

Notifications You must be signed in to change notification settings

Luke-Yamasaki/Mealize

Repository files navigation

 

Mealize is a React and Flask app that aims to reduce food scarcity and waste by connecting businesses to nonprofits.

home

Getting Started

  1. Clone this repository

    git clone [email protected]:Luke-Yamasaki/Mealize.git
  2. Install dependencies

    pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
  3. Create a .env file based on the .env.example file with credentials of your choice. I recommend creating a UUID for secrets. If you do not know how to do so, here are the commands in JavaScript:

    const crypto = require('crypto')

    console.log(crypto.randomUUID({disableEntropyCache : true}));

    The images you see in the homepage were seeded from my S3 bucket. However, you will need to create your own AWS account, create a bucket and acquire credentials if you want to allow users to upload local files. There is a storage limit that builds up fast, so please be careful of data usage.

    If you are unfamiliar with AWS, here is an excellent walkthrough courtesy of James Robertson: AWS walkthrough.

  4. Create a PostgreSQL user, password and database to match your chosen credentials in the .env file.

    If you forgot commands, type 'psql' in your terminal to open up the PostgreSQL interface.

    Next, enter CREATE USER (your chosen username) WITH PASSWORD 'your password.' CREATEDB login;

    Then, type CREATE DATABASE (your chosen database name) WITH OWNER (the username from above);

  5. Enter your shell environment, upgrade and seed your database, and run your flask app

    pipenv shell
    flask db upgrade
    flask seed all
    flask run
  6. To run the React App, go inside the react-app directory, npm install and npm start. This should open your browser automatically but if not, you may navigate to localhost:3000 to access the application.



Technologies


                     


Features

- Light mode, dark mode and background customization

dark mode

- Post a request as a nonprofit manager.

request

- Post surplus food as a business manager.

item

- Add posts to favorites list.

favorites

- Notify managers about good items you find.

notify

- Send pick up request to business owners (limited to nonprofit managers).

requestForm

- Accept or decline pick up requests (limited to business managers).

validate

- Check pending and accepted deliveries.

pending

- Filter by category and search items by keywords!

filter search