Recycle, find, earn
A modern Next.js application designed to gamify and incentivize recycling through smart bins, task completion, and community engagement.
- ✨ Features
- 🚀 Quick Start
- 🛠 Tech Stack
- 📁 Project Structure
- 🔧 Configuration
- 📚 Learn More
- 🚀 Deployment
- 📝 License
- 🎮 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)
- Node.js 18+
- npm, yarn, pnpm, or bun
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:3000Check
.env.examplefor all required variables.
-
Clone the repository:
git clone https://github.com/GeorgievIliyan/Recyclix.git cd Recyclix -
Install dependencies:
npm install # or yarn install # or pnpm install # or bun install
-
Set up environment variables:
cp .env.example .env.local
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser to see the application.
| 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 |
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.- 📖 Next.js Documentation - Learn about Next.js features and API
- 🎓 Learn Next.js - Interactive Next.js tutorial
- 🗂️ App Router Documentation
- 🎨 Geist Font - Modern font by Vercel for optimized typography
- 3-rd place in National Competition in Blagoevgrad, Bulgaria
This project is licensed under the GNU=GPL 3 License - see the LICENSE file for details.
Made with love ♻️ by the Iliyan Georgiev
