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 calagator.org 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.
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.