This phase involved learning about databases, understanding SQL basics, and implementing a robust data storage solution for the NGO's feeding statistics.
Understanding Databases
Coming from an Excel background, I found databases to be like supercharged spreadsheets for websites. They maintain the familiar structure of rows and columns but add powerful features for online access, real-time updates, and data relationships.

The Supabase database interface showing our HomelessStats table with weekly feeding statistics.
SQL: The Database Language
SQL (Structured Query Language) serves as the communication bridge with our database. It allows us to:
- Query weekly feeding totals
- Add new feeding records
- Update existing data
- Analyze historical trends
Prisma: The Connector
Prisma acts as a translator between our TypeScript code and the database, allowing us to:
- Write database queries in TypeScript
- Ensure type safety
- Manage database schema
- Handle data migrations
Why Supabase?
Key Benefits
- Cloud-based hosting
- Real-time data updates
- Built-in authentication
- Excellent documentation
- Prisma integration
- User-friendly interface
- Generous free tier
- Modern development features
Database Structure
Our database is designed with simplicity and efficiency in mind:
- HomelessStats table for weekly feeding records
- Timestamp-based tracking for historical analysis
- Integer fields for people count
- Automated backup and recovery options