Skip to content

GeorgievIliyan/Recyclix

Repository files navigation

Recyclix Banner

♻️ Recyclix

Recycle, find, earn

A modern Next.js application designed to gamify and incentivize recycling through smart bins, task completion, and community engagement.


📋 Table of Contents

✨ Features

  • 🎮 Gamification System - Earn badges and climb leaderboards
  • 🗺️ Interactive Map - Locate and track nearby recycling bins
  • 📷 AI-Powered Recognition - Classify recyclables using AI
  • 👥 User Dashboard - Track progress, rewards, and achievements
  • 🏆 Rewards Program - Claim points and redeem badges
  • 🤖 Smart Bins - IoT integration for bin management
  • 🔐 Secure Authentication - User registration and login system
  • 📊 Analytics - Track recycling impact and statistics (for managers)

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • npm, yarn, pnpm, or bun

🔧 Configuration

Environment Variables

Rename the .env.example file in the root directory:

# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key

# Gemini AI
NEXT_PUBLIC_GEMINI_API_KEY=your_api_key

# Other configs
NEXT_PUBLIC_API_URL=http://localhost:3000

Check .env.example for all required variables.

Installation

  1. Clone the repository:

    git clone https://github.com/GeorgievIliyan/Recyclix.git
    cd Recyclix
  2. Install dependencies:

    npm install
    # or
    yarn install
    # or
    pnpm install
    # or
    bun install
  3. Set up environment variables:

    cp .env.example .env.local
  4. Run the development server:

    npm run dev
  5. Open http://localhost:3000 in your browser to see the application.


🛠 Tech Stack

Category Technology
Framework Next.js
Language TypeScript
Styling Tailwing CSS
UI Components ShadCN
AI/ML Google Gemini API
Database Supabase
Authentication Supbase auth
Linting ESLint
Commit Linting Commitlint

📁 Project Structure

Recyclix/
├── app/                          # Next.js App Router
│   ├── api/                      # API routes
│   ├── app/                      # Application pages
│   ├── auth/                     # Authentication pages
│   ├── bin/                      # Bin-related pages
│   └── admin/                    # Admin panel
├── components/                   # React components
│   ├── gamification-ui/          # Gamification features
│   ├── map-ui/                   # Map components
│   ├── homepage/                 # Homepage sections
│   ├── ui/                       # Reusable UI components
│   └── other/                    # Misc components
├── hooks/                        # Custom React hooks
├── lib/                          # Utility functions & helpers
├── public/                       # Static assets
└── config files                  # tsconfig, eslint, etc.

📚 Learn More

📝 License

This project is licensed under the GNU=GPL 3 License - see the LICENSE file for details.


Made with love ♻️ by the Iliyan Georgiev

Star us on GitHubReport an IssueRequest a Feature

About

Recyclix ♻️ – Smart recycling management platform with dashboard, interactive map, bin UI, and AI-assisted task camera.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages