Skip to content

billntwali/MS-CodeToGive

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

211 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lemontree Volunteer Outreach Platform

A full-stack self-serve platform for Lemontree nonprofit volunteers to independently organize flyering events, auto-generate branded flyers with QR signup codes, and track collective impact.

Tech Stack

  • Frontend: Next.js, TypeScript, Tailwind CSS
  • Backend: Python, FastAPI
  • Database: Supabase (Postgres, Auth, Storage)
  • Infra: Vercel, GitHub

Prerequisites

  • Node.js 18+
  • Python 3.11+
  • A Supabase project

Documentation

  • Build Plan — Full implementation plan with system architecture, data model, API design, and phased roadmap

Configuration

Copy the example environment file and fill in your values:

cp .env.example .env
Variable Description
SUPABASE_URL Your Supabase project URL
SUPABASE_ANON_KEY Supabase anon/public key
SUPABASE_SERVICE_ROLE_KEY Supabase service role key (backend only)
SUPABASE_JWT_SECRET JWT secret from Supabase project settings
SECRET_KEY Random secret for token signing (min 32 chars)
FRONTEND_URL Frontend base URL (default: http://localhost:3000)
NEXT_PUBLIC_API_URL Backend base URL (default: http://localhost:8000)

Running the Backend

cd backend
python -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload

The API will be available at http://localhost:8000 Interactive API docs: http://localhost:8000/docs

Running the Frontend

cd frontend
npm install
npm run dev

The app will be available at http://localhost:3000

Project Structure

morgan-stanley/
├── frontend/            # Next.js app (TypeScript, Tailwind, MapLibre)
│   └── app/
│       ├── welcome/     # Landing page
│       ├── login/      # Login page
│       ├── signup/     # Signup page
│       ├── dashboard/  # Dashboard
│       ├── profile/    # User profile
│       ├── events/     # Event listing, create, detail, edit, manage
│       ├── community/leaders/  # Leaderboard
│       ├── admin/      # Admin dashboard
│       ├── components/ # Shared UI components
│       └── styles/     # Lemontree design system
├── backend/             # FastAPI app (Python)
│   └── app/
│       ├── main.py     # App entry point + middleware
│       ├── core/       # Config, auth, Supabase, points
│       ├── api/routes/ # auth, events, signups, flyer, map, photos, messages, points, admin
│       └── templates/  # Jinja2 flyer template
├── assets/              # SVG logos
├── docs/
│   └── BUILD_PLAN.md   # Full architecture and implementation plan
└── .env.example        # Environment variable template

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 75.1%
  • CSS 12.0%
  • Python 11.7%
  • Other 1.2%