Skip to content

Hack4Impact-UMD/food-for-all-dc

Repository files navigation

Food For All DC logo

🥗 Food For All DC

Modernizing food delivery for our community
A nonprofit dedicated to feeding those in need

Setup Guide Project Structure System Overview Style Guide


📋 About

This project modernizes and streamlines client management and delivery scheduling for Food For All DC, a nonprofit serving our community. 🚚🥕

This repository contains all the code, documentation, and setup guides you need to contribute or run the Food For All DC app. Please follow the setup guide below to get started. If you have questions, feel free to reach out via GitHub Issues!


📖 Contents


⚙️ Environment Setup

📂 Initial Steps
  1. GitHub SSH Configuration:

  2. Clone the Repository:

    git clone <your-repo-url>
    cd food-for-all-dc
🌐 Running the App Locally (Frontend)
  1. Install dependencies and run the development server:
    cd my-app
    npm install
    npm start
    Open http://localhost:3000 to see your running application.
🔥 Firebase Local Emulator (Backend)
  1. Install Firebase CLI

    npm install -g firebase-tools
    firebase login
  2. Install backend dependencies

    cd my-app/functions
    npm install
  3. Run Emulator

    firebase emulators:start

    ⚠️ Use the Firebase Emulator for local testing only.

🐍 Python Cloud Functions (Advanced Backend)
  1. Set up Python environment:

    cd my-app/functions-python
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  2. Run Firebase Emulator (from project root):

    firebase emulators:start

🏗️ Project Structure

Directory Structure Overview
food-for-all-dc/
│
├── my-app/
│   ├── public/                  # Static assets (favicon, index.html, etc.)
│   ├── src/                     # Main application source code
│   │   ├── assets/              # Images and static files
│   │   ├── auth/                # Authentication modules
│   │   ├── backend/             # Cloud function calls from frontend
│   │   ├── components/          # UI components
│   │   │   └── common/          # Reusable UI components
│   │   ├── hooks/               # Custom React hooks
│   │   ├── pages/               # App pages/views
│   │   ├── services/            # Business logic and API services
│   │   ├── styles/              # Styling and theme
│   │   ├── types/               # TypeScript type definitions
│   │   ├── utils/               # Utility functions
│   │   ├── App.tsx              # Main app component
│   │   └── index.tsx            # App entry point
│   ├── functions/               # Firebase backend (TypeScript)
│   │   └── src/index.ts         # Firebase functions entry point
│   ├── functions-python/        # Python backend functions
│   ├── package.json             # Frontend dependencies and scripts
│   ├── firebase.json            # Firebase configuration
│   └── .firebaserc              # Firebase project aliases
│
└── README.md                    # This file

🎨 Style Guide

🖌️ Consistent Style, Beautiful App!

To keep our codebase clean and our UI/UX delightful, please check out our comprehensive style guide:

📚 STYLING.md

The style guide covers:

  • UI/UX principles and visual standards
  • Code formatting and naming conventions
  • Component structure and best practices

Following these guidelines helps everyone build a better Food For All DC experience!


🗺️ System Overview

Frontend

  • React + TypeScript
  • Material UI
  • Custom components
  • Firebase integration

Backend

  • Firebase Cloud Functions (TypeScript)
  • Python functions for routing/clustering
  • Firebase Authentication
  • Real-time delivery management

🎉 Happy coding! 🎉

Together, we'll make Food For All DC even more impactful! 🥗

About

Client management and delivery scheduling for Food For All DC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 19