A Laravel-based community platform where users can share surplus food and skills with their neighbors.
https://togetherly-app-production.up.railway.app
Click Demo Login on the login page, or use demo@togetherly.app / password.
Admin panel: admin@togetherly.app / password.
- Food Sharing: Post surplus food, browse available food from neighbors, claim items locally
- Skill Sharing: Teach and learn skills within your community
- Location-Based Feed: See only posts from your neighborhood
- In-App Messaging: Direct communication between users
- Community Ratings: Build trust through user ratings and reviews
- User Profiles: Maintain reputation with ratings and history
- Backend: Laravel 10
- Database: MySQL
- Frontend: Bootstrap 5
- Language: PHP 8.1+
- PHP 8.1 or higher
- Composer
- MySQL 5.7 or higher
- Node.js (for asset compilation)
cd togetherly_app
composer install
npm installcp .env.example .envphp artisan key:generateEdit .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=togetherly
DB_USERNAME=root
DB_PASSWORD=your_password
mysql -u root -p
CREATE DATABASE togetherly;
EXIT;php artisan migratenpm run devOr for production:
npm run buildphp artisan storage:linkphp artisan serveThe app will be available at: http://localhost:8000
togetherly_app/
├── app/
│ ├── Http/Controllers/ # Route handlers
│ │ ├── AuthController.php
│ │ ├── DashboardController.php
│ │ ├── FoodPostController.php
│ │ ├── SkillPostController.php
│ │ ├── MessageController.php
│ │ └── RatingController.php
│ └── Models/ # Database models
│ ├── User.php
│ ├── FoodPost.php
│ ├── SkillPost.php
│ ├── Message.php
│ ├── Rating.php
│ └── UserProfile.php
├── database/
│ ├── migrations/ # Database schema
│ └── seeders/ # Sample data
├── resources/
│ └── views/ # Blade templates
│ ├── auth/
│ ├── food/
│ ├── skills/
│ ├── messages/
│ └── layouts/
├── routes/
│ └── web.php # Route definitions
└── storage/ # File uploads
- Has one UserProfile
- Has many FoodPosts
- Has many SkillPosts
- Has many sent/received Messages
- Has many given/received Ratings
- Belongs to User
- Has many Messages
- Has many Ratings
- Belongs to User
- Has many Messages
- Has many Ratings
- Belongs to sender User
- Belongs to recipient User
- Belongs to FoodPost (optional)
- Belongs to SkillPost (optional)
- Belongs to rater User
- Belongs to rated User
- Belongs to FoodPost (optional)
- Belongs to SkillPost (optional)
- id, name, email, phone, password, avatar, bio, rating, total_ratings, timestamps
- id, user_id, neighborhood, address, latitude, longitude, radius_km, is_verified, timestamps
- id, user_id, title, description, image, food_type, status, neighborhood, latitude, longitude, quantity, expires_at, timestamps, soft_delete
- id, user_id, title, description, category, skill_level, available_times, neighborhood, latitude, longitude, status, timestamps, soft_delete
- id, sender_id, recipient_id, food_post_id, skill_post_id, message, is_read, read_at, timestamps
- id, rater_id, rated_user_id, food_post_id, skill_post_id, rating, comment, timestamps
GET /register- Register pagePOST /register- Store registrationGET /login- Login pagePOST /login- Store loginPOST /logout- Logout
GET /dashboard- Main dashboard with recent posts
GET /food- List all food postsGET /food/create- Create food post formPOST /food- Store food postGET /food/{id}- View single food postGET /food/{id}/edit- Edit formPUT /food/{id}- Update food postDELETE /food/{id}- Delete food post
GET /skills- List all skillsGET /skills/create- Create skill formPOST /skills- Store skill postGET /skills/{id}- View single skillGET /skills/{id}/edit- Edit formPUT /skills/{id}- Update skillDELETE /skills/{id}- Delete skill
GET /messages/inbox- View inboxGET /messages/sent- View sent messagesGET /messages/conversation/{userId}- View conversation with userPOST /messages/send/{userId}- Send message
POST /ratings- Submit rating
- Register: Create account with name, email, phone, and neighborhood
- Share Food: Post surplus food in under 30 seconds with photo and expiry time
- Share Skills: List your skills and availability
- Browse: See food/skills from your neighborhood
- Connect: Message users to arrange pickup or lessons
- Rate: Rate users after exchanging food or skills
- Register as a regular user
- Post daily surplus food
- Build reputation through ratings
- Access premium features to gain visibility
- Advanced location filtering and maps integration
- Push notifications for new posts
- Verified badges for restaurants/businesses
- Premium subscription tiers
- Analytics dashboard for business users
- Mobile app (React Native)
- Government grant integration
- CSR partnership program
- Multi-language support
- Expansion to other cities
Contributions are welcome! Please follow Laravel coding standards.
This project is open source and available under the MIT license.
For issues and questions:
- Email: busan@togetherly.app
- Website: togetherly.app
Vision: A world where nothing goes to waste — not food, not knowledge, not kindness.