This backend project was created in hopes of providing a more social aspect for finding meetups. It displays who in the channel signed up for what meetup so you can decide if you want to go with or avoid your friends.

April 4, 2022

Where did this come from?

This project was created during a week-long coding sprint in school with 2 other students. The idea was to create a more social aspect to going to meetups, one of the requirements for school, in the Portland, OR area. So with this app that runs inside of Slack, you can see which meetups your friends are signed up for. You can then decide if you'd like to go to the same meetup or avoid certain folks.

About the app

This was a backend project made with NodeJS. We used the Slack API to create a bot that runs inside of a Slack channel. Users could send various commands to the bot to see available meetups in the Portland, OR area, see whos going to what, and join meetups. We scraped the site for meetups and stored the data in a MongoDB database. To read and write the correct data to the database we built a REST API using Express and MongoDB.

My contributions

Collaborative Coding Session

In the very beginning, we had a Collaborative Coding Session. During that session, we built out the main guts of the app. The very basic structure, some initial models, basic scraping functionality, basic tests setup, and a few other parts of the app. During this session, depending on my role I'd be doing research, coding according to the guidance of my peers, or guiding the current coder.

More specific personal contributions

Personally, I coded some of the models, routes for the models, various bug fixes, and some functionality. One of the things I personally dealt with specifically that was a neat experience was working with dates. We noticed almost immediately that the dates we were getting for the meetups were not right. I was tasked to take care of that issue. I came to realize there was more to dates than just a general date. Dates had various formats and I needed to make sure everything was in the correct format. So the dates we were scraping from the site, the dates that were stored, the dates for aggregations (today, past week, etc.), and the dates that would get displayed were just about all in various formats and not matching up. So I had to standardize that and make sure the dates were being displayed correctly.