Run this command to install all dependencies for both frontend and backend:
npm run install-allCreate a .env file in the server directory:
cd server
cp env.example .envEdit the .env file with your configuration:
# Server Configuration
PORT=5000
NODE_ENV=development
# JWT Secret (generate a secure random string)
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
# Email Configuration (optional - for magic links)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password
# Frontend URL
FRONTEND_URL=http://localhost:3000Note: For magic link emails to work, you'll need to:
- Use a Gmail account
- Enable 2-factor authentication
- Generate an App Password
- Use the App Password in SMTP_PASS
Run both frontend and backend servers:
npm run devThis will start:
- Frontend: http://localhost:3000
- Backend: http://localhost:5000
-
Create a Parent Account:
- Go to http://localhost:3000
- Click "Parents" tab
- Click "Don't have an account? Sign up"
- Fill in your details and create an account
-
Add Your Kids:
- After logging in as a parent, go to the "Kids" tab
- Click "Add Kid"
- Enter their name and create a 4-digit PIN
- Share the PIN with your child
-
Create Tasks:
- Go to the "Tasks" tab
- Click "Create Task"
- Fill in task details and assign to a child
-
Set Up Rewards:
- Go to the "Rewards" tab
- Click "Create Reward"
- Set up rewards your kids can redeem with their points
Your kids can now log in using:
- Go to http://localhost:3000
- Click "Kids" tab
- Enter their 4-digit PIN
- ✅ Create and manage household chores
- ✅ Assign tasks to specific kids
- ✅ Set due dates and difficulty levels
- ✅ Track completion progress
- ✅ Manage reward points and rewards
- ✅ Email/password or magic link authentication
- ✅ Simple PIN-based login
- ✅ View assigned chores with fun animations
- ✅ Mark tasks as complete
- ✅ Earn points and unlock rewards
- ✅ Visual progress tracking with gamification elements
- Frontend: React 18 with TypeScript
- Backend: Node.js with Express
- Database: SQLite (for simplicity)
- Styling: Tailwind CSS with custom animations
- Authentication: JWT tokens with magic link support
-
Port already in use:
- Change the PORT in server/.env
- Or kill the process using the port
-
Database errors:
- Delete the
server/chore_app.dbfile - Restart the server (it will recreate the database)
- Delete the
-
Magic link emails not working:
- Check your SMTP settings
- Make sure you're using an App Password, not your regular password
- Check your spam folder
-
Frontend not connecting to backend:
- Make sure both servers are running
- Check that the proxy setting in client/package.json points to the correct backend URL
chore-app/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ ├── contexts/
│ │ ├── pages/
│ │ └── ...
├── server/ # Node.js backend
│ ├── routes/
│ ├── database.js
│ └── ...
├── package.json # Root package.json
└── README.md
npm run dev- Start both frontend and backendnpm run server- Start only the backendnpm run client- Start only the frontendnpm run build- Build the frontend for productionnpm run install-all- Install all dependencies
For production deployment:
- Set
NODE_ENV=productionin your environment - Generate a secure JWT_SECRET
- Set up proper email configuration
- Build the frontend:
npm run build - Serve the built files from your backend
- Use a production database (PostgreSQL, MySQL, etc.)
Feel free to contribute to this project! Some ideas for improvements:
- Add more gamification elements
- Implement recurring tasks
- Add task categories
- Create mobile app versions
- Add family statistics and reports
- Implement task templates
- Add photo verification for completed tasks