A comprehensive digital waste management system for sustainable waste tracking and collection coordination.
ECOTRACE is a modern web application that digitalizes and streamlines waste management processes, connecting individuals, companies, logistics coordinators, transporters, and technicians in an efficient eco-friendly ecosystem.
- Individuals: Submit waste collection requests, track pickups, manage personal profiles
- Companies: Plan and manage large-scale waste collections, track corporate sustainability metrics
- Administrators: Oversee system operations, manage users, generate comprehensive reports
- Logistics Coordinators: Plan collection routes, track traceability, verify collection requests
- Transporters: Manage collection schedules, confirm pickups, update collection status
- Technicians: Handle waste processing, validate waste treatment, update waste valorization status
- Digital Waste Tracking: Complete traceability from collection request to final processing
- Smart Collection Planning: Automated route optimization and scheduling
- Real-time Notifications: Keep all stakeholders informed throughout the process
- Comprehensive Reporting: Generate detailed analytics and sustainability metrics
- User Management: Role-based access control with secure authentication
- Mobile-Responsive Design: Access from any device, anywhere
- React 18 - Modern UI library for building interactive user interfaces
- Vite - Lightning-fast build tool and development server
- Tailwind CSS - Utility-first CSS framework for rapid styling
- Axios - HTTP client for API communication
- ESLint - Code linting for consistent code quality
- Django 4.2 - Robust Python web framework
- Django REST Framework - Powerful toolkit for building APIs
- JWT Authentication - Secure token-based authentication
- CORS Headers - Cross-origin resource sharing support
- Token Blacklisting - Enhanced security for user sessions
Before you begin, ensure you have the following installed:
- Node.js (v14 or higher)
- Python (v3.8 or higher)
- pip (Python package manager)
- Git
git clone https://github.com/yourusername/ecotrace.git
cd ecotrace# Navigate to backend directory
cd backend
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run migrations
python manage.py makemigrations
python manage.py migrate
# Create superuser (optional)
python manage.py createsuperuser
# Start development server
python manage.py runserver# Navigate to frontend directory (from project root)
cd frontend
# Install dependencies
npm install
# Start development server
npm run devCreate a .env file in the backend directory:
SECRET_KEY=your-secret-key-here
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1The backend is configured to accept requests from localhost:3000 and 127.0.0.1:3000 by default.
-
Access the Application
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:8000 - Admin Panel:
http://localhost:8000/admin
- Frontend:
-
User Registration
- Create accounts for different user types
- Verify email addresses
- Set up user profiles
-
Waste Management Workflow
- Submit waste collection requests
- Plan and schedule collections
- Track waste throughout the process
- Generate reports and analytics
ecotrace/
โโโ backend/
โ โโโ ecotrace_backend/ # Django project settings
โ โโโ users/ # User management app
โ โโโ waste_management/ # Core waste management functionality
โ โโโ notifications/ # Notification system
โ โโโ manage.py # Django management script
โโโ frontend/
โ โโโ src/ # React source code
โ โโโ public/ # Static assets
โ โโโ package.json # Frontend dependencies
โ โโโ vite.config.js # Vite configuration
โโโ README.md # This file
POST /api/auth/login/- User loginPOST /api/auth/logout/- User logoutPOST /api/auth/register/- User registrationPOST /api/auth/refresh/- Token refresh
GET /api/waste/collections/- List collectionsPOST /api/waste/collections/- Create collection requestGET /api/waste/collections/{id}/- Get collection detailsPUT /api/waste/collections/{id}/- Update collection
GET /api/users/profile/- Get user profilePUT /api/users/profile/- Update user profile
cd backend
python manage.py testcd frontend
npm testECOTRACE is fully responsive and optimized for:
- Desktop computers
- Tablets
- Mobile devices
- Various screen sizes and orientations
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Built with sustainability and environmental consciousness in mind
- Designed to promote circular economy principles
- Inspired by the need for efficient waste management solutions
- Mobile app development
- Advanced analytics dashboard
- IoT sensor integration
- Machine learning for route optimization
- Multi-language support
- Third-party service integrations
Made with โค๏ธ for a sustainable future