Skip to content

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.

Notifications You must be signed in to change notification settings

Elisbrown/Devoby-app

Repository files navigation

Devoby - Waste Management Web Application

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.

Features

  • 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

Tech Stack

  • 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

Getting Started

Prerequisites

  • Node.js 18.x or later
  • npm or yarn
  • Google Cloud Platform account (for Maps and Firebase)
  • Vercel account (for deployment)

Environment Variables

Create a .env.local file in the root directory with the following variables:

```

Firebase Configuration

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

Google Maps

NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_google_maps_api_key

Mobile Money API (Placeholders)

MTN_MOBILE_MONEY_API_KEY=your_mtn_api_key ORANGE_MONEY_API_KEY=your_orange_api_key ```

Installation

  1. Clone the repository: ```bash git clone https://github.com/yourusername/devoby.git cd devoby ```

  2. Install dependencies: ```bash npm install

    or

    yarn install ```

  3. Run the development server: ```bash npm run dev

    or

    yarn dev ```

  4. Open http://localhost:3000 in your browser to see the application.

Deployment

See the deployment guides for detailed instructions:

Project Structure

``` 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 └── ... ```

Documentation

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

About

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.

Resources

Stars

Watchers

Forks

Languages