Welcome to the backend repository for WasteXpert, a smart waste management system that facilitates waste collection scheduling, user management, and authentication functionalities.
- Register new users with role-based access: Users can register with roles such as householder, collector, or admin.
- Authenticate users with JWT tokens: Secure user authentication using JSON Web Tokens.
- Admin-only user management: Admins have privileges to view all users, assign roles, and delete users.
- Householders can schedule waste collection pickups: Users with the householder role can schedule pickups for waste collection.
- Admins can assign collectors to scheduled pickups: Admins can assign collectors to the scheduled pickups created by householders.
- Collectors can view their assigned pickups: Users with the collector role can view pickups assigned to them.
- Node.js: Backend JavaScript runtime.
- Express.js: Web framework for Node.js.
- MongoDB: NoSQL database for data storage.
- Mongoose: MongoDB object modeling for Node.js.
- JWT: JSON Web Tokens for authentication.
- bcryptjs: Password hashing and verification.
- Joi: Data validation for incoming requests.
- Nodemailer: Sending emails for notifications.
To run the project locally, follow these steps:
git clone https://github.com/nellyiya/Waste-Management-System_Backend.git
cd Backend
Install dependencies:
npm install Start the server:
npm start