Modern Freelancing & Task Platform
Connecting customers and skilled freelancers with intelligent task recommendations, AI-powered content moderation, real-time messaging, and interactive workplace management.
- Backend: Laravel 13
- Reactivity & Frontend: Livewire 4 & Livewire Flux UI
- Styling: Tailwind CSS
- Database: PostgreSQL 15+
- Real-Time Broadcasting: Laravel Reverb (WebSockets)
- AI Moderation Engine: Laravel AI SDK powered by Google Gemini API
- Authentication: Laravel Fortify & Socialite (Google & Facebook OAuth)
- Task Creation & Validation: Post tasks with title, category, budget range, duration, and optional attachments.
- AI Moderation & Email Notifications: Automatic background task validation via
ModerateTaskWithAiJob. Sends automated email notifications (TaskApprovedMail/TaskRejectedMail) upon approval or rejection. - Task Applications Review: Inspect freelancer proposals, bid amounts, proposed timelines, and hire freelancers.
- Work Deliverables Management Hub: Dedicated client deliverables portal (
/client/deliverables) to review submitted work files, live demo links, approve work, or issue revision requests with detailed feedback.
- Smart Task Feed & Recommendation: Freelancer Dashboard features an intelligent task recommendation system based on weighted interaction history:
- View:
1.0| Click:2.5| Save:3.0| Apply:5.0| Share:1.5
- View:
- Proposal Bidding: Submit applications with proposed pricing, duration, and cover letters.
- Active Jobs Workspace: Track ongoing jobs, submit deliverables (file attachments and live URL links), or request deadline extensions.
- Real-Time Client Messaging: Instant WebSocket chat powered by Laravel Reverb.
The application strictly enforces a clean two-tier backend design pattern:
- Service Layer (
App\Services): Encapsulates all core business logic, task approvals, submission processing, and extension requests. - Repository Layer (
App\Repositories): Encapsulates Eloquent database queries, status filtering, and data retrieval.
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
git clone https://github.com/your-username/task-bayan.git
cd task-bayanRun the automated project setup script:
composer run setupCopy .env.example to .env and fill in required keys:
APP_NAME=TaskBayanAPP_URL=http://localhost:8000# Database Configuration (PostgreSQL)DB_CONNECTION=pgsqlDB_HOST=127.0.0.1DB_PORT=5432DB_DATABASE=task_bayanDB_USERNAME=postgresDB_PASSWORD=your_password# WebSockets Configuration (Laravel Reverb)BROADCAST_CONNECTION=reverbREVERB_APP_ID=your_reverb_app_idREVERB_APP_KEY=your_reverb_app_keyREVERB_APP_SECRET=your_reverb_app_secretREVERB_HOST="127.0.0.1"REVERB_PORT=8080REVERB_SCHEME=http# AI Content Moderation (Google Gemini API)GEMINI_API_KEY=your_google_gemini_api_key# OAuth Credentials (Google & Facebook)GOOGLE_CLIENT_ID=your_google_client_idGOOGLE_CLIENT_SECRET=your_google_client_secretGOOGLE_CALLBACK_REDIRECT=http://localhost:8000/oauth/google/callbackFB_CLIENT_ID=your_facebook_client_idFB_CLIENT_SECRET=your_facebook_client_secretFB_CALLBACK_REDIRECT=http://localhost:8000/oauth/facebook/callbackphp artisan reverb:installLaunch all development services (Laravel Server, Queue Listener, WebSockets Reverb, and Vite compiler) concurrently:
composer run devThis project is licensed under the MIT License.







