Making cooking addictive through social engagement and gamification
Cooking is not popular among young adults. Traditional recipe apps are boring, isolated experiences that don't resonate with a generation raised on social media and gamification.
Plated transforms cooking into an addictive social experience by incorporating:
- ๐ฑ Social Media Features - Share, like, comment on recipes
- ๐ฎ Gamification - Challenges, XP, badges, and streaks
- ๐ฅ Community Engagement - Follow friends, discover viral recipes
- ๐ฏ Budget-Friendly - Get ingredient lists and recipes within your budget
- Post & Share - Create simple posts or detailed recipe posts with ingredients and instructions
- Engagement System - Like, comment, save, and share recipes
- Social Network - Follow users, build your cooking community
- Direct Messaging - Chat with other home chefs
- Cook Mode - Step-by-step cooking assistant
- Challenges - Weekly cooking challenges to keep things fun
- Gamification - Earn XP, unlock badges, maintain cooking streaks
- Node.js v18+
- Python 3.8+
- Git
# 1. Clone the repository
git clone https://github.com/yourusername/Plated-Testing-CC.git
cd Plated-Testing-CC
# 2. Test your setup
.\test-setup.ps1
# 3. Start both servers
.\start-local-dev.ps1That's it! Open http://localhost:5173 in your browser.
For detailed instructions: See docs/setup/QUICK_START_GUIDE.md
Plated-Testing-CC/
โโโ backend/ # Flask backend API
โ โโโ routes/ # API endpoints
โ โโโ models/ # Database models
โ โโโ services/ # Business logic
โ โโโ tests/ # Backend tests
โโโ frontend/Plated/ # React TypeScript frontend
โ โโโ src/
โ โ โโโ pages/ # Page components
โ โ โโโ components/ # Reusable components
โ โ โโโ stores/ # State management
โ โ โโโ utils/ # Utilities and API client
โ โโโ public/ # Static assets
โโโ docs/ # ๐ All documentation
โ โโโ setup/ # Setup guides
โ โโโ testing/ # Testing guides
โ โโโ technical/ # Technical docs
โ โโโ plans/ # Project plans
โ โโโ database/ # Database schemas
โโโ config/ # Configuration files
All documentation is organized in the docs/ folder:
| I want to... | Read this |
|---|---|
| Set up the project | docs/setup/QUICK_START_GUIDE.md |
| Test locally | docs/testing/README_LOCAL_TESTING.md |
| Understand authentication | docs/technical/MOCK_AUTH_FLOW.md |
| See project status | docs/plans/2025-01-24-production-ready-plated.md |
Full documentation index: docs/README.md
- Framework: React 18 with TypeScript
- Build Tool: Vite
- State Management: Zustand
- Styling: CSS Modules
- Router: React Router v6
- HTTP Client: Axios
- Framework: Flask (Python)
- Database: PostgreSQL (via Supabase)
- Authentication: Google OAuth + JWT
- Storage: Supabase Storage
- ORM: SQLAlchemy (local), Supabase Client (cloud)
- Database: Supabase (PostgreSQL)
- Storage: Supabase Storage (S3-compatible)
- Deployment: DigitalOcean Droplet
- CI/CD: GitHub Actions (planned)
Backend:
.\start-backend.ps1
# Backend runs on http://localhost:5000Frontend:
.\start-frontend.ps1
# Frontend runs on http://localhost:5173Both at once:
.\start-local-dev.ps1# Backend tests
cd backend
.\venv\Scripts\Activate.ps1
pytest
# Frontend tests
cd frontend/Plated
npm testThe app includes a mock authentication system for local testing:
- Click "Continue with Mock Login (Testing)" on the login page
- Complete your profile
- Start testing!
See docs/technical/MOCK_AUTH_FLOW.md for details.
Progress: 72% Complete (13/18 tasks)
- Database schema and tables
- Post creation system
- Engagement system (likes, comments, saves)
- Image upload to Supabase
- Feed with pagination
- User authentication
- Mock login for testing
- Create post UI (Simple & Recipe posts)
- Follow/unfollow system
- Direct messaging
- Gamification backend
- UI polish and redesign
Detailed status: See docs/plans/2025-01-24-production-ready-plated.md
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Run tests: Make sure everything passes
- Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
- Follow existing code style
- Write tests for new features
- Update documentation
- Keep commits atomic and descriptive
Backend won't start:
cd backend
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
python app.pyFrontend won't start:
cd frontend/Plated
npm install
npm run devMock login not working:
- Ensure both servers are running
- Check backend is on port 5000
- See
docs/testing/LOCAL_TESTING_QUICK_START.md
More help: See docs/testing/README_LOCAL_TESTING.md
| Script | Purpose |
|---|---|
test-setup.ps1 |
Verify your development environment |
start-backend.ps1 |
Start Flask backend server |
start-frontend.ps1 |
Start Vite frontend server |
start-local-dev.ps1 |
Start both servers automatically |
ENV=dev
SECRET_KEY=your-secret-key
JWT_SECRET=your-jwt-secret
CLIENT_ID=google-oauth-client-id
CLIENT_SECRET=google-oauth-client-secret
FRONTEND_URL=http://localhost:5173
SUPABASE_URL=your-supabase-url
SUPABASE_ANON_KEY=your-anon-keyVITE_API_BASE_URL=http://localhost:5000
VITE_AUTH_MODE=oauthThis project is licensed under the MIT License - see the LICENSE file for details.
Built with โค๏ธ by the Plated development team.
- Documentation:
docs/ - Project Plan:
docs/plans/2025-01-24-production-ready-plated.md - Database Schema:
docs/database/supabase_schema.sql
Having issues? Check out:
docs/testing/README_LOCAL_TESTING.md- Testing guidedocs/setup/QUICK_START_GUIDE.md- Setup guide- GitHub Issues - Report bugs or request features
Happy Cooking! ๐ณ