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!
- ⚙️ Environment Setup
- 🏗️ Project Structure
- 🎨 Style Guide
- 🗺️ System Overview
- 🚀 Performance Tuning
- 🧑💻 Clean Code Overview
- 🧪 Test Suite & Coverage
📂 Initial Steps
-
GitHub SSH Configuration:
- Follow this GitHub Guide.
-
Clone the Repository:
git clone <your-repo-url> cd food-for-all-dc
🌐 Running the App Locally (Frontend)
- Install dependencies and run the development server:
Open http://localhost:3000 to see your running application.
cd my-app npm install npm start
🔥 Firebase Local Emulator (Backend)
-
Install Firebase CLI
npm install -g firebase-tools firebase login
-
Install backend dependencies
cd my-app/functions npm install
-
Run Emulator
firebase emulators:start
⚠️ Use the Firebase Emulator for local testing only.
🐍 Python Cloud Functions (Advanced Backend)
-
Set up Python environment:
cd my-app/functions-python python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
-
Run Firebase Emulator (from project root):
firebase emulators:start
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
To keep our codebase clean and our UI/UX delightful, please check out our comprehensive style guide: |
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!
|
|