Creating EveVol — Event Volunteer Coordinator (Node/Express/Mongo)

Alex Merced - Tech Evangelist
2 min readNov 13, 2019

I’ve now completed two units in my time during the General Assembly Bootcamp I’ve been fortunate enough to participate in. In unit 1, I created this responsive Pet Adoption App using HTML, CSS, Javascript and AJAX. For Unit 2, I created EveVol, Event Volunteer coordinator using Nodejs, Express and Mongo.

The purpose of the project was to create an Express application with full CRUD functionality and at least one model that is stored in a Mongo database. After everything was said and done my application had several features that I was proud to have successfully implemented.

User Signup/Login

While a standard feature in any web application I felt very encouraged by my execution. Not only do users have their passwords encrypted and their login status committed to the session object, but I also committed their username to the session object so I could query the database for their unique content. Having the username stored in this manner allowed every user access to their content and not the content of other users. All content pages check for login status so are private to the signed-in user.

Related Models

Due to Mongo’s unique structure when it comes to trying to create related data models, I opted to use the volunteer model to create an array of volunteer names that are added to an event to relate the two. The result, as you add more volunteers you are able to assign them to events and display them on their appropriate event page so you know which volunteers are associated with which events.

Public API Endpoints

In anticipation of working with front-end frameworks like Angular and React I wanted to begin created API endpoints to pull data from. I created an endpoint that would allow users to pull their created events as JSON to create their own custom event pages or to incorporate it into their existing websites.

Notes

Just to add a little extra functionality I added a fourth model that allowed users to create notes for themselves. While not a difficult feature to implement, it was nice to offer more robust functionality in the application.

So I have 3 more units to complete before the completion of this Bootcamp (AngularJS, PHP, React) and coming out of unit 2 I definitely find myself very at home working with the backend and am thinking this may be where I’ll have a lot to offer.

--

--

Alex Merced - Tech Evangelist

Alex Merced is a Developer Advocate for Dremio and host of the Web Dev 101 and Datanation Podcasts.