Devoby is a web application that connects waste generators (households and businesses) with waste collectors in real-time, providing an efficient, transparent, and reliable solution to waste management challenges in Yaoundé, Cameroon.
- User Registration and Authentication: Google Sign-In and email/password authentication
- Waste Collection Requests: On-demand waste collection with real-time tracking
- Collector Discovery: Find and select waste collectors in your area
- Job Tracking: Real-time status updates and tracking
- Payment Integration: Mobile money payment options (MTN/Orange Money)
- Rating System: Rate and review collectors for quality assurance
- Analytics Dashboard: Track waste management patterns and spending
- Multilingual Support: English and French language options
- Frontend: Next.js, React, Tailwind CSS, Shadcn UI
- Authentication: Firebase Authentication
- Database: Cloud Firestore
- Storage: Cloud Storage
- Maps & Location: Google Maps Platform
- Deployment: Vercel, Docker
- Node.js 18.x or later
- npm or yarn
- Google Cloud Platform account (for Maps and Firebase)
- Vercel account (for deployment)
Create a .env.local file in the root directory with the following variables:
```
FIREBASE_API_KEY=your_firebase_api_key FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain FIREBASE_PROJECT_ID=your_firebase_project_id FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id FIREBASE_APP_ID=your_firebase_app_id
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_google_maps_api_key
MTN_MOBILE_MONEY_API_KEY=your_mtn_api_key ORANGE_MONEY_API_KEY=your_orange_api_key ```
-
Clone the repository: ```bash git clone https://github.com/yourusername/devoby.git cd devoby ```
-
Install dependencies: ```bash npm install
yarn install ```
-
Run the development server: ```bash npm run dev
yarn dev ```
-
Open http://localhost:3000 in your browser to see the application.
See the deployment guides for detailed instructions:
``` devoby/ ├── app/ # Next.js app directory │ ├── dashboard/ # Dashboard pages │ ├── login/ # Authentication pages │ ├── signup/ # User registration │ ├── onboarding/ # User onboarding │ └── ... ├── components/ # React components │ ├── dashboard/ # Dashboard components │ ├── ui/ # UI components (shadcn) │ └── ... ├── lib/ # Utility functions and libraries ├── public/ # Static assets ├── docs/ # Documentation ├── Dockerfile # Docker configuration ├── docker-compose.yml # Docker Compose configuration └── ... ```
This project is licensed under the MIT License - see the LICENSE file for details.