Quick Note:

If you try the demo, note that it will not show the volunteer opportunities as in the screenshot because Github pages doesn't allow HTTP requests - must be Https :(

Inspiration

Due to COVID-19, there are a lot of individuals struggling in their daily lives. Kommunity allows people to support people around them, through a web app.

What it does

Kommunity allows individuals to volunteer to accept requests for help in completing a task. This could range from picking up groceries, carrying furniture, to gardening--the potential is unlimited.

How I built it

I first set up a virtual machine on Google Cloud. After configuring some parameters, I also set up a MongoDB server on that virtual machine. It stores the tasks to complete as well as user information.

I then developed the front end on my own computer. There are three pages.

  1. Login/Sign-Up
  2. Volunteer - Accept a request for help completing a task.
  3. Request - Post a request for someone to help you complete a task.

When a user loads the volunteer page, it accesses all of the open tasks from the virtual machine. When they submit a request, it adds to the database.

The most challenging part for me was the backend. I next set up an Express.JS server on the virtual machine which would allow a client to access the MongoDB database. After much trial and error, I successfully got the backend setup.

Challenges I ran into

  1. Finding out how to use Google Cloud Virtual Machine
  2. Setting up the MongoDB server on the Virtual Machine
  3. Writing the Node.JS server REST API so that it would handle requests properly.
  4. Accessing the Node.JS server to get information.

Accomplishments that I'm proud of

I am proud of the full integration of the client-side and the cloud virtual machine which has the backend. It worked out really nicely.

What I learned

I learned a lot about using cloud virtual machines and backend server development.

What's next for Kommunity

  1. Fix user interface to fit more devices, have profile pictures, more responsive, look better in general.
  2. Setup secure login system.
  3. Setup user accounts (Right now, they are not stored in MongoDB).
  4. Use React.JS for the cards.
  5. Suggest suggested volunteer opportunities by location and date.
Share this project:

Updates