With climate change becoming an increasingly important issue in our lives, we decided to create a fun tool for people to stay informed on what companies have unethical practices.

What it does

Name and Shame allows people to search for companies and post about anything unethical the company may be doing. Users can give an unethical rating (know as trashiness), upvote others' reviews, and add tags under a company. This information can also be viewed for any company.

How we built it

This was built using a MERN stack. The company data is stored on a Mongo database, which is accessed through our Express and Node.js backend. Our react frontend makes calls to the API endpoints we set up on our backend to read company information, and post about companies. We also Docker-ized the whole stack to make sharing it much easier.

Challenges we ran into

This was a new technology stack for all of us, so we ran into a lot of issues in setting up our environments and also along the way. Figuring out how to implement our functionality served a frustrating yet rewarding challenge for us. We also had a lot of fun figuring how to work with Node and React!

Accomplishments that we're proud of

Despite the technical difficulties that come with learning new technologies, we still managed to create a fully functional API linked with a database, and a frontend that interacts with it. We're quite proud of how much we learned this hackathon, and the fun we had working together.

What we learned

Although we learned a lot about implementing MongoDB, Express, React, and Node.js, we also gained a valuable lesson in project management and teamwork in regards to software engineering. Sorting out our exact data models, and API endpoint details allowed us to divide up the work and code concurrently.

What's next for Name and Shame

Next we would like to implement showing more data on companies, for example their carbon emissions.

Share this project: