Never Refuse to Reuse with E-Waste!
Tags: dohackathon, showdev, vue
Published: 2020-12-13 08:17:35

### What am I building

Recently my friend <a href="https://dev.to/jinaleey">@jinaleey</a> came up with the idea of having an e-waste collection service where customers can request a pickup and handover their e-waste in exchange for points. These points can be redeemed into Mobile Phone Credits, Supermarket loyalty points and many more. So she and I thought of building the system since e-waste management is an issue for many communities around the world. 
<hr>
### Category Submission: 
Program for the People

### App Links
Client : https://e-waste-client-4ysoo.ondigitalocean.app/#/
Collector: https://e-waste-collector-ifs29.ondigitalocean.app/
Administrator: https://e-waste-admin-8do8a.ondigitalocean.app/

### Screenshots
<b>Client Dashboard</b>
<img src="https://dev-to-uploads.s3.amazonaws.com/i/lh55ny4i1qcctmw61u9n.png">
<b>Collector Dashboard</b>
<img src="https://dev-to-uploads.s3.amazonaws.com/i/rnm0j8eg5nqgli3phqsw.png">
<b>Administrator Dashboard</b>
<img src="https://dev-to-uploads.s3.amazonaws.com/i/l1agsja85eyyepemffm2.png">

### Description

<b>Customers</b>
Customers can create an account in the system and then place a request for a pickup. They can specify their location, item description, weight, etc and place a request. Once a collector picks up the request, the customer can see the contact details of the collector as well. Then once picked up, customer's account is credited with points and the job ends.<br>
<b>Collectors</b>
Collectors can create accounts in the system and they will have access to a list of active requests from the clients. Collectors can reserve a request and then goto the client and collect the item. Upon collection, the collector has to input the weight of the item and the price will be calculated and the job will be fulfilled.
<br>
<b>Administrators</b>
Administrators can get an overall idea of how the system is performing using the admin panel. It shows realtime numbers of users, collectors, etc. Also It provides you the charts so that you can download and put into reports.
<br>
<b>Points Calculation</b>
Unfortunately we couldn't come up a good innovative solution for points calculation. For now we are using a cloud function that gives numbers according to the type and weight of the item. So in the future we are looking to integrate a points calculation system that uses ML to identify the pollution indexes of the user's area to do calculation. You will get higher points if you're in a highly polluted area. 

### Link to Source Code
Client : https://github.com/Suvink/e-waste-client
Collector: https://github.com/Suvink/e-waste-collector
Administrator: https://github.com/Suvink/e-waste-admin

### Permissive License
The project is covered under <a href="https://github.com/Suvink/e-waste-client/blob/master/LICENSE">MIT Licence</a>.

### Background
The hardware and software changed the morphology, facilities, etc. with time and thereby making most of the older IT equipment or hardware as obsolete. This activity collection generated a huge pool of junk hardware which is termed as e-waste. Point is that most people don't have the technical know-how to dump any hardware that is already in the works. The main problem in the country is that we don’t have a place to store obsolete hardware. Therefore, people try to burn such waste, and that process produces harmful gases to the environment. An example, Cathode ray tube based equipments (TVs, computer monitors, ATM, video cameras and more) are disposed as junk. Then Lead, Barium and other heavy metals leak into the groundwater and release toxic phosphor. And, when burning computer wires and printed circuit boards, PAH (Polycyclic aromatic hydrocarbons) gets released in to water, air and soil. Therefor an environment-friendly recycling methodology for the disposal of e-waste has become a necessity now. 

Another problem is that there are small groups who are organized to collect this type of waste, and such groups do not provide a reasonable amount of money to the customers. That process has no customer satisfaction and customers don't have much of a choice but giving those groups their e-waste and get rid of them.

So that lead us to our solution, e-waste.

### How I built it 
The project uses VueJS for the frontend and Firebase as the backend. The users are authenticated using Firebase Authentication. The data are stored in a Firebase Realtime Database providing realtime updates for the users. Moreover, in the future stages, the points calculation method will also be hosted as a Firebase Cloud Function.

All the three platforms are hosted on DigitalOcean Apps Platform and it was easy and budget friendly to use it rather than other hosting services. And Integration with GitHub Repo lets me focus on the code more than deployments.

### Contributors
<table>
<tr>
<td><img src="https://avatars0.githubusercontent.com/u/10671497?s=460&u=2688fb382fbc91bc1874b4e233e6e58191d017c9&v=4" width=100></td>
<td><img src="https://media-exp1.licdn.com/dms/image/C5603AQGz-Wu1GwCewQ/profile-displayphoto-shrink_200_200/0/1605248013361?e=1614211200&v=beta&t=l7ro2_UROPRSZeXp8oy_k7s61kt0DndeDR7u5SMKAWo" width=100></td>
</tr>
<tr>
<td><b>Suvin Nimnaka</b></td>
<td><b>Jinalee Yashodha</b></td>
</tr>
</table>


### PS:
It's been weeks since the conclusion of the Hackathon and neither two of us got the badge for the participation. Tried to reach out Dev but seems like they don't give a damn at all. Not being ungrateful but some of us have put a lot of effort into this and the least they could do is reply to a simple message.