Skip to content

Releases: Rdaopi/Minus_Trash_Project

Release v1.0.0-beta

Choose a tag to compare

@Rdaopi Rdaopi released this 10 Jun 18:26
022f760

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 dev

Testing

npm test              # Run all tests
npm run test:watch    # Watch mode
npm run test:coverage # Coverage report

For 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.