Fix README with clean, meaningful documentation

This commit is contained in:
jessikitty committed 2025-12-19 09:16:36 +11:00
1 parent 92fa35f2bd
commit 9be8ac67ca
1 file changed
+369 -1
+369 -1
View File
@@ -1 +1,369 @@
IyBGYW1pbHkgSHViIC0gSG9tZSBNYW5hZ2VtZW50IFN5c3RlbQoKPiAqKiJTa3lsaWdodCBvbiBTdGVyb2lkcyIqKiAtIEEgY29tcHJlaGVuc2l2ZSBmYW1pbHkgbWFuYWdlbWVudCBzeXN0ZW0gZm9yIGNhbGVuZGFyLCBjaG9yZXMsIG1lbnUgcGxhbm5pbmcsIGFuZCBzaG9wcGluZyBsaXN0cwoKLS0tCgojIyDwn4+gIFByb2plY3QgT3ZlcnZpZXcKCkZhbWlseSBIdWIgaXMgYSBzdGFuZGFsb25lIGhvbWUgbWFuYWdlbWVudCBzeXN0ZW0gZGVzaWduZWQgZm9yIGEgZmFtaWx5IG9mIDUgKExvdSwgSmVzcywgV2lsbGlhbSwgWGFuZGVyLCBCZWxsYSkgdG8gbWFuYWdlIGRhaWx5IGhvdXNlaG9sZCB0YXNrcywgY29vcmRpbmF0ZSBzY2hlZHVsZXMsIHBsYW4gbWVhbHMsIGFuZCB0cmFjayBzaG9wcGluZyBuZWVkcy4KCiMjIyBLZXkgRmVhdHVyZXMKLSAqKvCfk4UgQ2FsZW5kYXIgTWFuYWdlbWVudCoqIC0gR29vZ2xlIENhbGVuZGFyIGludGVncmF0aW9uIGZvciBmYW1pbHkgc2NoZWR1bGluZwotICoq8J+nuSBDaG9yZSBUcmFja2luZyoqIC0gSW50ZWxsaWdlbnQgYXNzaWdubWVudCBhbmQgdHJhY2tpbmcgc3lzdGVtCi0gKirwn43977iPIE1lbnUgUGxhbm5pbmcqKiAtIE1lYWxpZSBpbnRlZ3JhdGlvbiBmb3IgbWVhbCBwbGFubmluZwotICoq8J+bkiBTaG9wcGluZyBMaXN0cyoqIC0gQXV0by1nZW5lcmF0ZWQgZnJvbSBtZWFsIHBsYW5zIHdpdGggbWFudWFsIGFkZGl0aW9ucwotICoq8J+PoSBIb21lIEFzc2lzdGFudCBJbnRlZ3JhdGlvbioqIC0gUHVzaCBub3RpZmljYXRpb25zIGFuZCBkYXNoYm9hcmQgY2FyZHMKLSAqKvCfkaUgTXVsdGktVXNlciBTeXN0ZW0qKiAtIEluZGl2aWR1YWwgcHJvZmlsZXMgd2l0aCByb2xlLWJhc2VkIHZpZXdzCgotLS0KCiMjIPCfkajigI3wn5Gp4oCN8J+Rp+KAjfCfkaYgRmFtaWx5IENvbmZpZ3VyYXRpb24KCiMjIyBNZW1iZXJzCi0gKipMb3UqKiAoUGFyZW50KQotICoqSmVzcyoqIChQYXJlbnQpIC0gTWFzdGVyIEJlZHJvb20gd2l0aCBFbnN1aXRlCi0gKipXaWxsaWFtKiogKENoaWxkKSAtIE93biBCZWRyb29tCi0gKipYYW5kZXIqKiAoQ2hpbGQpIC0gT3duIEJlZHJvb20KLSAqKkJlbGxhKiogKENoaWxkKSAtIE93biBCZWRyb29tCgojIyMgUGV0cwotICoqSGFycGVyKiogKERvZykgLSBGZWVkaW5nLCB3YXRlcmluZwotICoqQ2hpcHMqKiAoQ2F0KSAtIEZlZWRpbmcsIHdhdGVyaW5nLCBsaXR0ZXIgbWFpbnRlbmFuY2UKCiMjIyBIb21lIExheW91dAotIDUgQmVkcm9vbXMgKDEgTWFzdGVyIHdpdGggRW5zdWl0ZSkKLSAyIEJhdGhyb29tcwotIDEgVG9pbGV0Ci0gS2l0Y2hlbiAod2l0aCBkaXNod2FzaGVyKQotIERpbmluZyBSb29tCi0gTGF1bmRyeSAod2FzaGluZyBtYWNoaW5lICsgZHJ5ZXIpCgojIyMgV2Vla2x5IFNjaGVkdWxlIE5vdGVzCi0gKipCaW4gRGF5Kio6IFdlZG5lc2RheSBtb3JuaW5nIHBpY2t1cAotICoqUmVjeWNsaW5nL0dyZWVucyoqOiBBbHRlcm5hdGUgZm9ydG5pZ2h0cyB3aXRoIHJlZ3VsYXIgYmlucwoKLS0tCgojIyDwn5ug77iPIFRlY2ggU3RhY2sKCiMjIyBCYWNrZW5kCi0gKipGcmFtZXdvcmsqKjogRmFzdEFQSSAoUHl0aG9uIDMuMTErKQotICoqRGF0YWJhc2UqKjogU1FMaXRlIChwcm9kdWN0aW9uLXJlYWR5LCBjYW4gbWlncmF0ZSB0byBQb3N0Z3JlU1FMKQotICoqQXV0aGVudGljYXRpb24qKjogSldULWJhc2VkIHdpdGggYmNyeXB0IHBhc3N3b3JkIGhhc2hpbmcKLSAqKkFQSSBEb2N1bWVudGF0aW9uKio6IEF1dG9tYXRpYyBPcGVuQVBJL1N3YWdnZXIKCiMjIyBGcm9udGVuZAotICoqRnJhbWV3b3JrKio6IFJlYWN0IDE4IHdpdGggVHlwZVNjcmlwdAotICoqU3R5bGluZyoqOiBUYWlsd2luZCBDU1MKLSAqKlN0YXRlIE1hbmFnZW1lbnQqKjogUmVhY3QgQ29udGV4dCBBUEkgLyBadXN0YW5kCi0gKipCdWlsZCBUb29sKio6IFZpdGUKCiMjIyBJbnRlZ3JhdGlvbnMKLSAqKkdvb2dsZSBDYWxlbmRhciBBUEkqKiAtIE9BdXRoMiBhdXRoZW50aWNhdGlvbgotICoqTWVhbGllIEFQSSoqIC0gU2VsZi1ob3N0ZWQgcmVjaXBlL21lYWwgcGxhbm5pbmcKLSAqKkhvbWUgQXNzaXN0YW50KiogLSBSRVNUIEFQSSArIFdlYmhvb2tzIGZvciBub3RpZmljYXRpb25zCgojIyMgSW5mcmFzdHJ1Y3R1cmUKLSAqKkNvbnRhaW5lcml6YXRpb24qKjogRG9ja2VyICsgRG9ja2VyIENvbXBvc2UKLSAqKlJldmVyc2UgUHJveHkqKjogTmdpbnggKG9wdGlvbmFsKQotICoqRGF0YWJhc2UgTWlncmF0aW9ucyoqOiBBbGVtYmljCgotLS0KCiMjIPCfk4sgRGV2ZWxvcG1lbnQgUHJvZ3Jlc3MKCiMjIyDinIUgUGhhc2UgMTogRm91bmRhdGlvbiAmIENvcmUgU2V0dXAKLSBbeF0gQ3JlYXRlIEdpdCByZXBvc2l0b3J5Ci0gW3hdIFByb2plY3Qgc3RydWN0dXJlIHNjYWZmb2xkaW5nCi0gWyBdIEJhY2tlbmQgQVBJIGZyYW1ld29yayBzZXR1cAotIFsgXSBGcm9udGVuZCBSZWFjdCBhcHBsaWNhdGlvbiBzZXR1cAotIFsgXSBEYXRhYmFzZSBzY2hlbWEgZGVzaWduCi0gWyBdIERvY2tlciBjb250YWluZXJpemF0aW9uCi0gWyBdIFVzZXIgbWFuYWdlbWVudCBzeXN0ZW0KCiMjIyDirJwgUGhhc2UgMjogQ2hvcmVzIFN5c3RlbQotIFsgXSBEYXRhYmFzZSBtb2RlbHMgZm9yIGNob3JlcwotIFsgXSBDaG9yZSB0eXBlczogRGFpbHksIFdlZWtseSwgRm9ydG5pZ2h0bHksIEFkLWhvYwotIFsgXSBMb2NhdGlvbi1iYXNlZCBjYXRlZ29yaXphdGlvbgotIFsgXSBBc3NpZ25tZW50IGVuZ2luZSAoaW5kaXZpZHVhbC9zaGFyZWQvcm90YXRpbmcpCi0gWyBdIFJlY3VycmluZyBzY2hlZHVsZSBidWlsZGVyCi0gWyBdIENvbXBsZXRpb24gdHJhY2tpbmcgJiBoaXN0b3J5Ci0gWyBdIENob3JlIGRhc2hib2FyZCBVSQotIFsgXSBUb2RheSdzIHRhc2tzIHZpZXcKLSBbIF0gV2Vla2x5IG92ZXJ2aWV3IGNhbGVuZGFyCgojIyMg4qycIFBoYXNlIDM6IENhbGVuZGFyIEludGVncmF0aW9uCi0gWyBdIEdvb2dsZSBDYWxlbmRhciBPQXV0aDIgc2V0dXAKLSBbIF0gUmVhZC9kaXNwbGF5IGZhbWlseSBldmVudHMKLSBbIF0gQ3JlYXRlL2VkaXQgZXZlbnRzIGludGVyZmFjZQotIFsgXSBTeW5jIGNob3JlcyB0byBjYWxlbmRhciAob3B0aW9uYWwpCi0gWyBdIENhbGVuZGFyIHdpZGdldCBmb3IgZGFzaGJvYXJkCgojIyMg4qycIFBoYXNlIDQ6IE1lbnUgUGxhbm5pbmcgJiBTaG9wcGluZwotIFsgXSBNZWFsaWUgQVBJIGludGVncmF0aW9uCi0gWyBdIFdlZWtseSBtZWFsIHBsYW5uZXIgaW50ZXJmYWNlCi0gWyBdIFJlY2lwZSBicm93c2VyCi0gWyBdIEF1dG8tZ2VuZXJhdGUgc2hvcHBpbmcgbGlzdHMgZnJvbSBtZWFscwotIFsgXSBNYW51YWwgc2hvcHBpbmcgbGlzdCBtYW5hZ2VtZW50Ci0gWyBdIEl0ZW0gY2F0ZWdvcml6YXRpb24KLSBbIF0gQ2hlY2stb2ZmIGZ1bmN0aW9uYWxpdHkKLSBbIF0gTW9iaWxlLWZyaWVuZGx5IHNob3BwaW5nIHZpZXcKCiMjIyDirJwgUGhhc2UgNTogUG9saXNoICYgSW50ZWdyYXRpb24KLSBbIF0gVW5pZmllZCBkYXNoYm9hcmQgaG9tZSB2aWV3Ci0gWyBdIFdpZGdldC1zdHlsZSBsYXlvdXQgc3lzdGVtCi0gWyBdIFF1aWNrIHN0YXRzICYgaW5kaWNhdG9ycwotIFsgXSBIb21lIEFzc2lzdGFudCBSRVNUIEFQSSBlbmRwb2ludHMKLSBbIF0gUHVzaCBub3RpZmljYXRpb24gc3lzdGVtCiAgLSBbIF0gT3ZlcmR1ZSBjaG9yZXMKICAtIFsgXSBCaW4gZGF5IHJlbWluZGVycyAoVHVlc2RheSBuaWdodCkKICAtIFsgXSBQZXQgY2FyZSByZW1pbmRlcnMKLSBbIF0gSG9Line truncated
# 🏠 Family Hub - Home Management System
> A comprehensive family management system for organizing daily life - calendar, chores, meals, and shopping.
[![Version](https://img.shields.io/badge/version-0.1.0-blue.svg)](https://gitea.hideawaygaming.com.au/jessikitty/family-hub)
[![Python](https://img.shields.io/badge/python-3.11+-green.svg)](https://www.python.org/)
[![React](https://img.shields.io/badge/react-18-blue.svg)](https://react.dev/)
[![Status](https://img.shields.io/badge/status-Phase%201%20Complete-success.svg)](PROJECT_ROADMAP.md)
---
## 📖 About
Family Hub is a standalone home management system designed for families to coordinate their daily lives in one place. Think of it as "Skylight on steroids" - but self-hosted and customizable for your family's specific needs.
Built for a family of 5 (Lou, Jess, William, Xander, Bella) plus pets (Chips the cat 🐱 and Harper the dog 🐕), this system helps manage:
- 📅 **Family Calendar** - Google Calendar integration
- 🧹 **Chore Tracking** - Daily, weekly, fortnightly, and ad-hoc tasks
- 🍽️ **Menu Planning** - Mealie integration for meal planning
- 🛒 **Shopping Lists** - Auto-generated from meals + manual items
- 🏡 **Home Assistant** - Push notifications and dashboard integration
---
## ✨ Features
### ✅ Currently Available (Phase 1 - Complete)
- **User Management** - 5 family member profiles with roles
- **Authentication** - Secure JWT-based login system
- **Database** - SQLite with models for users, chores, and meals
- **API Backend** - FastAPI with auto-generated documentation
- **Frontend Foundation** - React 18 with Tailwind CSS
- **Docker Setup** - Easy deployment with Docker Compose
### 🚧 In Development (Phase 2)
- **Chore System** - Create, assign, and track household tasks
- **Recurring Schedules** - Daily, weekly, fortnightly patterns
- **Assignment Logic** - Individual, shared, and rotating chores
- **Completion Tracking** - Mark tasks done with history
### 🔜 Coming Soon
- **Google Calendar Sync** - Two-way calendar integration (Phase 3)
- **Mealie Integration** - Recipe management and meal planning (Phase 4)
- **Dashboard** - Unified home view with widgets (Phase 5)
- **Home Assistant** - Notifications and dashboard cards (Phase 6)
---
## 🚀 Quick Start
### Prerequisites
- **Docker & Docker Compose** (recommended)
- OR Python 3.11+ and Node.js 18+ for local development
### Installation
1. **Clone the repository**
```bash
git clone https://gitea.hideawaygaming.com.au/jessikitty/family-hub.git
cd family-hub
```
2. **Configure environment**
```bash
cp backend/.env.example backend/.env
# Edit backend/.env and set a strong SECRET_KEY
```
3. **Start the application**
```bash
docker-compose up -d
```
4. **Initialize database** (first run only)
```bash
docker-compose exec backend python init_db.py
```
5. **Access the application**
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
### Default Credentials
| User | Username | Password | Role |
|------|----------|----------|------|
| Lou | `lou` | `changeme123` | User |
| **Jess** | `jess` | `changeme123` | **Admin** |
| William | `william` | `changeme123` | User |
| Xander | `xander` | `changeme123` | User |
| Bella | `bella` | `changeme123` | User |
⚠️ **Change these passwords immediately after first login!**
---
## 📁 Project Structure
```
family-hub/
├── PROJECT_ROADMAP.md # Development tracker (CHECK THIS REGULARLY!)
├── SETUP.md # Detailed setup instructions
├── README.md # This file
├── docker-compose.yml # Container orchestration
│
├── backend/ # FastAPI Backend
│ ├── app/
│ │ ├── api/ # API endpoints (auth, users, chores)
│ │ ├── core/ # Config, database, security
│ │ ├── models/ # SQLAlchemy database models
│ │ └── schemas/ # Pydantic validation schemas
│ ├── init_db.py # Database initialization
│ └── requirements.txt # Python dependencies
│
└── frontend/ # React Frontend
├── src/
│ ├── App.tsx # Main application
│ └── main.tsx # Entry point
├── package.json # Node dependencies
└── vite.config.ts # Build configuration
```
---
## 🛠️ Tech Stack
### Backend
- **FastAPI** - Modern Python web framework
- **SQLAlchemy** - SQL toolkit and ORM
- **SQLite** - Lightweight database (PostgreSQL-ready for production)
- **Pydantic** - Data validation using Python type annotations
- **JWT** - Secure authentication with JSON Web Tokens
### Frontend
- **React 18** - JavaScript library for building user interfaces
- **Vite** - Next generation frontend tooling
- **Tailwind CSS** - Utility-first CSS framework
- **TypeScript** - Typed JavaScript for better development experience
### DevOps
- **Docker** - Containerization for consistent environments
- **Docker Compose** - Multi-container orchestration
- **Uvicorn** - Lightning-fast ASGI server
---
## 📖 Documentation
- **[SETUP.md](SETUP.md)** - Complete setup guide with troubleshooting
- **[PROJECT_ROADMAP.md](PROJECT_ROADMAP.md)** - Development progress tracker (⭐ **CHECK THIS REGULARLY!**)
- **[SESSION_SUMMARY.md](SESSION_SUMMARY.md)** - Latest development session notes
- **API Docs** - Auto-generated at http://localhost:8000/docs
---
## 🎯 Development Progress
**Current Status:** Phase 1 Complete ✅ (30% overall progress)
See [PROJECT_ROADMAP.md](PROJECT_ROADMAP.md) for detailed progress tracking.
### Completed Phases
- ✅ **Phase 1:** Foundation & Core Setup
### Current Phase
- 🚧 **Phase 2:** Chores System (In Planning)
### Upcoming Phases
- ⏳ Phase 3: Calendar Integration
- ⏳ Phase 4: Menu Planning & Shopping
- ⏳ Phase 5: Dashboard & Home View
- ⏳ Phase 6: Home Assistant Integration
- ⏳ Phase 7: Polish & Deployment
---
## 🏠 Family Configuration
### Household Layout
- **5 Bedrooms** - Lou, Jess (with Ensuite), William, Xander, Bella
- **2 Bathrooms** - Shared bathroom + Master ensuite
- **Kitchen** - Dishwasher, hand washing area
- **Laundry** - Washing machine, dryer
- **Dining Room**
- **Outdoor Areas**
### Pets
- **Chips (Cat)** 🐱 - Daily feeding, watering, litter maintenance
- **Harper (Dog)** 🐕 - Daily feeding, watering
### Weekly Schedule
- **Bins** - Wednesday morning pickup
- **Recycling** - Fortnightly (alternates with greens)
- **Greens Bin** - Fortnightly (alternates with recycling)
---
## 🔧 Configuration
### Backend Configuration
Copy `backend/.env.example` to `backend/.env` and customize:
```env
# Application
APP_NAME=Family Hub
DEBUG=True
# Database
DATABASE_URL=sqlite:///./family_hub.db
# Security (CHANGE THIS!)
SECRET_KEY=your-super-secret-key-here
ACCESS_TOKEN_EXPIRE_MINUTES=30
# CORS
ALLOWED_ORIGINS=http://localhost:5173,http://localhost:3000
```
### Future Integrations
The system is designed to integrate with:
```env
# Google Calendar (Phase 3)
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
# Mealie (Phase 4)
MEALIE_API_URL=http://your-mealie-instance
MEALIE_API_TOKEN=your-api-token
# Home Assistant (Phase 6)
HOME_ASSISTANT_URL=http://your-ha-instance
HOME_ASSISTANT_TOKEN=your-long-lived-token
```
---
## 💻 Development Commands
```bash
# Start services with Docker
docker-compose up -d
# View logs
docker-compose logs -f backend
docker-compose logs -f frontend
# Stop services
docker-compose down
# Rebuild containers
docker-compose up -d --build
# Run backend tests
cd backend && pytest
# Run frontend tests
cd frontend && npm test
# Access backend shell
docker-compose exec backend bash
# Database operations
docker-compose exec backend python init_db.py
```
---
## 🧪 API Endpoints
Once running, explore the API at http://localhost:8000/docs
### Authentication
- `POST /api/v1/auth/register` - Register new user
- `POST /api/v1/auth/login` - Login and get JWT token
- `POST /api/v1/auth/refresh` - Refresh access token
### Users
- `GET /api/v1/users` - List all users (admin only)
- `GET /api/v1/users/{id}` - Get user details
- `PUT /api/v1/users/{id}` - Update user
- `DELETE /api/v1/users/{id}` - Delete user (admin only)
### Chores (In Development)
- `GET /api/v1/chores` - List all chores
- `POST /api/v1/chores` - Create new chore
- `GET /api/v1/chores/{id}` - Get chore details
- `PUT /api/v1/chores/{id}` - Update chore
- `DELETE /api/v1/chores/{id}` - Delete chore
---
## 🤝 Contributing
This is a family project, but suggestions and improvements are welcome!
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
---
## 🆘 Troubleshooting
### Common Issues
**Port already in use:**
```bash
# Check what's using the port
sudo lsof -i :8000
sudo lsof -i :5173
# Change ports in docker-compose.yml if needed
```
**Database not initializing:**
```bash
docker-compose down -v
docker-compose up -d --build
docker-compose exec backend python init_db.py
```
**Frontend not loading:**
```bash
# Rebuild frontend container
docker-compose up -d --build frontend
```
For more help, see [SETUP.md](SETUP.md) or check the API docs at `/docs`.
---
## 📝 License
This project is licensed under the MIT License - feel free to use it as inspiration for your own family management system!
---
## 🌟 Project Status
- **Created:** December 18, 2025
- **Current Version:** 0.1.0
- **Phase:** 1 of 7 Complete
- **Status:** 🟢 Active Development
---
## 📞 Links
- **Repository:** https://gitea.hideawaygaming.com.au/jessikitty/family-hub
- **Development Tracker:** [PROJECT_ROADMAP.md](PROJECT_ROADMAP.md)
- **Setup Guide:** [SETUP.md](SETUP.md)
- **API Documentation:** http://localhost:8000/docs (when running)
---
**Built with ❤️ for family organization**
*Making household management easier, one task at a time!*