A web application for managing and tracking household chores for families with children, built with Flask.
- Admin Dashboard: Manage chores and children, view completion statistics
- Child Dashboard: View and complete assigned chores
- Automatic Chore Assignment: Configurable random assignment of chores at daily, weekly, or monthly intervals
- Calendar View: Visual display of chore schedules with color-coded status indicators
- Activity Summaries: Track completion statistics for each child
- Weighted Chore System: Balance chore assignments based on difficulty
- Backend: Python with Flask
- Database: SQLite with SQLAlchemy ORM
- Frontend: HTML, CSS, JavaScript, Bootstrap 5
- Calendar: FullCalendar.js
- Tooltips: Tippy.js
- Animations: Animate.css
-
Clone the repository:
git clone <repository-url> cd family_chore_manager
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install flask flask-sqlalchemy flask-login werkzeug flask-apscheduler
-
Set up the database:
flask run
The database will be automatically created in the
instance
directory on first run. -
Access the application: Open your browser and navigate to
http://127.0.0.1:5000/
- Register as admin using the system password (
supersecret
by default) - Add children to the system with their names and birthdays
- Create chores and assign them to children or set them up for automatic assignment
-
For Parents (Admin):
- Log in as admin to manage chores and children
- View completion statistics for each child
- Configure automatic assignment settings
-
For Children:
- Log in using name and birthday
- View assigned chores on dashboard
- Mark chores as complete when finished
- Check performance statistics and completion ratio
To change system settings such as the admin password, edit the constants in app.py
:
SYSTEM_ADMIN_PASSWORD = "supersecret" # Change this for security
The application includes an automatic scheduler that assigns chores based on configured frequencies:
- Daily: Chores are reassigned at midnight each day
- Weekly: Chores are reassigned at midnight on Sundays
- Monthly: Chores are reassigned on the first day of each month