A data visualization website for San Francisco Unified School District (SFUSD) budget and financial information.
This project provides interactive visualizations of SFUSD financial data, including:
- Budget snapshots and trends
- Deficit analysis and timeline
- Dollar breakdown (where the money goes)
- COVID-19 fiscal cliff impact
- Enrollment trends
- Teacher strike impacts
- Future projections
- Framework: Next.js (latest) with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Charts: Recharts
- Package Manager: npm
- Node.js 18.x or higher
- npm (comes with Node.js)
-
Clone the repository
git clone <repository-url> cd sfusd-finances
-
Install dependencies
npm install
-
Run the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000
npm run dev- Start the development servernpm run build- Build the production applicationnpm start- Start the production server (requires build first)
sfusd-finances/
├── app/
│ ├── data.ts # Budget and financial data
│ ├── page.tsx # Main visualization page
│ ├── layout.tsx # Root layout
│ └── globals.css # Global styles
├── public/ # Static assets
└── package.json # Dependencies and scripts
The application is built with Next.js App Router and uses client-side rendering for the interactive charts. All financial data is stored in app/data.ts.
To add or modify visualizations:
- Update data in
app/data.ts - Edit chart components in
app/page.tsx - Changes will hot-reload automatically in development mode
This project can be deployed to any platform that supports Next.js:
- Vercel (recommended)
- Netlify
- AWS
- Any Node.js hosting platform
For Vercel deployment:
npm run buildThen connect your repository to Vercel for automatic deployments.