Git Product home page Git Product logo

equifood-app-a's Introduction

Amrita Sidhu - Project / Scrum Manager
Abhiek Bist - Tech Lead
Griffin Wilchuk - Client Liaison
Jake Daongam - QA Leader

EquiFood-App-A - Develop Branch

All important team documents and initial code saved in this development branch.


Currently includes:

  • Team Agreement

  • Early draft of requirements

  • Client questions

  • User scenarios

  • Prototype(s)

  • Gantt Chart.

  • List of Usability Tasks

  • Front End Aspects:

    • Initial Ionic Build
  • Back End Aspects:

    • Rough draft of DDL for Food Table
    • Rough draft of DDL for Restaurant Table
    • Rough draft of DDL for Admin Table
    • Rough draft of DDL for RestaurantAdmin Table
  • A rough plan for January

  • Notes from Professor/TA meetings in Jan

  • Equifood Priority Tasks Document


Will include:

- TA demo meeting suggestions
- Screens navigation chart on Lucid Chart for us and future developers.

Equifood App Purpose:

The purpose of Equifood is to aid in reducing food wastage of restaurants. This app presents restaurant owners the idea of giving away excess food they have at the end of each day at discounted prices, or for free.

Equifood administrators manually keep track of the money amount Equifood has saved individuals from restaurants. These are considered as donations.


About our Software:

Our software will allow restaurant owners to post their discounted/free offers for individuals to see and will automatically keep track of donation amounts.

Sign in Portals Included:

- Customer View
    - Includes Restaurants, Restaurant specifics, add / delete to cart, cart, reserve, timepicker, searchbar, header navigation portion, profile with various setting options. 
    Profile Includes:
        - View Recent Orders
        - Edit Account
        - Help
        - Privacy
        - About
- Restaurant Owner View:
    - Includes the restaurant ownerr view
- Admin View
    - Includes donations, restaurant requests, add / remove restaurants / the ability to navigate into and look at restaurants deeply. 

Tech Stack:

Our client preferred we use one of the two MERN stack variations (MariaDB or MongoDB) The current stack chosen for the project is a MERN (MariaDB, Express, React Native, NodeJS) stack. This is due to the low cost and abundance of documentation for this popular stack. Our team decided to use the MariaDB variation. We prefer MariaDB as its relational model is crucial for our queries and additions of new available products.


Information for setting up the MERN stack can be found in the following links

[Nodejs](https://nodejs.org/en/download/)

[React Native](https://reactnative.dev/docs/environment-setup)

[MariaDB Setup](https://mariadb.com/get-started-with-mariadb/)

[Expressjs](https://expressjs.com/en/starter/installing.html)

Project Milestones:

Milestone 1: Basic Front End and back end (Allow users to see restaurant and food options)
Milestone 2: Create Databases, improve navigation (Clicking things bring you to the proper pages and show proper values)
Milestone 3: Deploy and populate databases
Milestone 4: Extensively test, document, and prepare for handoff


User Groups:

The administrators, the individuals in ownership of Equifood.

Their purpose in using the app will be monitoring that restaurant owners are using Equifood as per their guidelines. They will have the option to approve, deny, or remove restaurants from this app. Admin will have access to viewing donation amounts.

The Restaurant Representatives.

The app will allow them to post information about their restaurant and food options available. They will update total donations collected from their restaurant.

Individuals.

Will be able to use the app to view available restaurants and food options.

How to Run locally:

  1. Make your way to Code Directory (../EquiFood-App-A/EquiFood-A-ReactNative)
  2. Several packages may need to be installed:
    • First ensure latest node version is being used: - For Apple check with nvm use --lts - For Android check with node -v
    • Expo: npm install -g expo-cli
    • React-Navigation: npm install @react-navigation/native
    • React: npm install "[email protected]"
    • Additionally: "npm i react-navigation-drawer"
  3. Start server by going into server directory (../EquiFood-App-A/EquiFood-A-ReactNative/server) and run nodemon server
  4. In terminal, run npm start to run Expo.
  5. Either scan the QR code on your phone or run an emulator by following the menu in the terminal

How to access the database:

  1. Login to SkySQL
  2. Add your current IP address to the "IP allowlist for service access"
  3. Download the certificate authority chain and follow the instructions under "Connect to service"

UI Features:

- Browsing Restaurant page
- Browsing Food Options from Restaurant page
- Detailed product page
    - Can reserve item
- View Cart page
    - Can remove items 
- User profile page
    - Just a mock up, still working on
- Drawer navigation and tabs
- Color scheme of green and white (to match logo)

equifood-app-a's People

Contributors

amritasidhu avatar bist07 avatar griffinwilchuk avatar t1jake avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

equifood-app-a's Issues

Create Presentation

  • Introduction (client, project, mission statement)
  • Target user groups
  • Data flow diagrams
  • Functional requirements for each milestone
  • List of non-functional requirements and environmental constraints
  • Tech stacks
  • Prototype
  • Testing
  • Video

Create Requirements Report

  • High level description of software and user target groups
  • Level 0 Data Flow Diagram
  • Level 1 Data Flow Diagram
  • Detailed list of functional requirements for each milestone
  • Detailed list of non-functional requirements and environmental constraints
  • Chosen Tech stack with 3 alternative options + pros/cons
  • Test methodology

Database - Create food tables

Create a table to house individual food items for each restaurant. Will house all relative information and a auto generated key to identify individual food items.

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.