E-Cycle is a full-stack .NET project designed to revolutionize electronic waste management. Our platform connects consumers with certified e-waste recycling centers, promoting responsible disposal of electronic devices.
- ASP.NET Core 6.0
- C# 10
- Microsoft SQL Server 2019
- React 18.2.0
- Entity Framework Core 6.0
- Identity Server 4
- Azure Blob Storage
- User authentication and authorization
- Interactive map of nearby e-waste recycling centers
- QR code generation for easy device tracking
- Recycling center dashboard for inventory management
- Reward system for frequent recyclers
- Real-time analytics on recycling trends
- .NET SDK 6.0 or later
- Microsoft SQL Server 2019 or later
- Node.js 14.0 or later
- Azure account for blob storage
- Clone the repository
git clone https://github.com/e-cycle/e-cycle-platform.git - Navigate to the project directory
cd e-cycle-platform - Restore the required packages
dotnet restore - Update the database connection string in
appsettings.json - Apply database migrations
dotnet ef database update - Navigate to the client app directory and install dependencies
cd ClientApp npm install
- Start the backend server:
dotnet run - In a separate terminal, start the React frontend:
cd ClientApp npm start - Access the application at
http://localhost:3000
Our API documentation is available at https://api.e-cycle.com/docs. Key endpoints include:
GET /api/recycling-centers: Retrieve nearby recycling centersPOST /api/devices: Register a new device for recyclingGET /api/user/rewards: Retrieve user's recycling rewards
For full API documentation, please refer to our API Guide.
We welcome contributions to E-Cycle! Please follow these steps:
- Fork the repository
- Create a new branch:
git checkout -b feature-branch-name - Make your changes and commit them:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature-branch-name - Submit a pull request
Please read our Contribution Guidelines for more details.
This project is licensed under the MIT License - see the LICENSE.md file for details.