Repository navigation
Releases: Rdaopi/Minus_Trash_Project
Release list
Release v1.0.0-beta
MinusTrash v1.0.0-beta - Public Beta Release
We're excited to announce the public beta release of MinusTrash, a comprehensive digital platform designed to optimize urban waste management for citizens and the Municipality of Trento, Italy.
What is MinusTrash?
MinusTrash is a full-stack web application that provides real-time waste container monitoring, citizen reporting capabilities, and administrative tools for efficient municipal waste management operations.
Implemented Features
Interactive Waste Container Management
- Real-time visualization of waste containers with GPS positioning
- Support for multiple waste types: Organic, Plastic, Paper, Glass, Mixed, WEEE, and Other
- Fill level monitoring and capacity tracking
- Maintenance scheduling and status management
- Last emptying timestamp tracking
- Interactive map interface powered by Leaflet
Comprehensive Citizen Reporting System
- Multiple report types: Abandoned waste, Dirty areas, Bin problems, Missed collections, Vandalism, Illegal dumping
- Detailed categorization with subtypes for specific issues
- Severity levels: Low, Medium, High, Urgent
- Status tracking: Pending, Verified, In Progress, Resolved, Rejected, Scheduled
Multi-Role User Management
- Citizens (cittadino): Create reports, view local environmental data, access personal dashboard
- Municipal Operators (operatore_comunale): Manage interventions, update container status, verify reports
- Administrators (amministratore): Full system management, user administration, and oversight
- Role-based access control with secure permissions
Secure Authentication System
- Google OAuth integration for seamless login
- Traditional email/password authentication
- JWT-based authentication with refresh tokens
- Password reset functionality via email
- Session management with device tracking
- Account activation and management features
Internal Communication System
- Message system for internal communication between users
- Unread message notifications
- Real-time message count updates
Enterprise-Grade Security
- Helmet.js security middleware implementation
- Rate limiting protection against abuse
- CORS configuration for secure cross-origin requests
- Input validation and sanitization
- Secure password hashing with bcrypt
- JWT token expiration and refresh mechanisms
Developer-Friendly API
- OpenAPI 3.0 specification
- Swagger UI integration for interactive API testing
- RESTful API design with consistent response formats
- Comprehensive request/response schemas
- Detailed endpoint documentation with examples
Production-Ready Infrastructure
- MongoDB database with geospatial indexing for location-based queries
- Winston logging system for comprehensive audit trails
- Environment-based configuration management
- Production deployment configuration for Render.com
- Static site routing support for SPA deployment
- HTTPS and security headers configured
Technology Stack
Backend
- Node.js with Express.js framework
- MongoDB with Mongoose ODM and geospatial indexing
- JWT for stateless authentication
- Passport.js for OAuth integration
- Winston for structured logging
- Jest and Supertest for API testing
- Swagger for API documentation
Frontend
- Vue.js 3 with Composition API
- Vue Router for client-side routing
- Bootstrap 5 for responsive design system
- Leaflet for interactive mapping
- Axios for HTTP client communication
- Font Awesome for iconography
Testing Coverage
The application includes comprehensive test suites:
- API endpoint testing with Jest and Supertest
- Report management functionality tests
- Bin management functionality tests
- Authentication and authorization testing
- Database model validation testing
Beta Status Notice
This is a beta release with core functionality fully implemented. Some advanced features mentioned in documentation are still under development:
- Automated notification system for operators
- Advanced statistics and reporting dashboard
- Enhanced user area features
Installation & Setup
Prerequisites
- Node.js 16+
- MongoDB database
- Google OAuth credentials (optional)
Quick Start
# Backend setup
cd Server
npm install
npm run dev
# Frontend setup
cd FrontEnd
npm install
npm run devTesting
npm test # Run all tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage reportFor detailed setup instructions including production deployment, see our comprehensive README documentation.
API Documentation
Complete API documentation is available at "https://minustrash.docs.apiary.io/" featuring:
- 50+ documented endpoints
- Interactive testing interface
- Detailed request/response schemas
- Authentication examples
Contributing
This beta release represents a stable foundation for urban waste management. We welcome feedback, bug reports, and contributions from the community to help improve municipal waste management efficiency.
License
This project is licensed under the ISC License.
Full Changelog: This is the first public beta release of MinusTrash v1.0.0-beta
Note: This is a beta release. While core functionality is stable and production-ready, some advanced features are still in development. Please report any issues or feedback through our issue tracker.