Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Powering HackIllinois #50

Closed
wants to merge 2 commits into from
Closed

Powering HackIllinois #50

wants to merge 2 commits into from

Conversation

ASankaran
Copy link
Contributor

Closes #30.

This post is about the HackIllinois API and some the decisions that were made while designing and implementing it.

Pre-Approval

  • Post properly titled
  • Post contains proper front matter
  • featured tag has been added to this post
  • featured tag has been removed from other posts
  • Images and assets have been added
  • Post has been tested locally with Jekyll
  • Spelling has been checked

Pre-Deploy

  • Reviews have been resolved or otherwise addressed
  • Approval from a repo owner
  • Post file name has been updated to current date
  • Post front matter has been updated to current date
  • Merged master

@therishidesai
Copy link
Member

I think most of the post is really solid. The individual section on each service may not be necessary for this post. If there were some services that had interesting challenges then we may be able to spin it out into another post.

@justinyangusa
Copy link
Member

Great start, @ASankaran! Based on our conversation yesterday, I’ll be looking for the next revision to be shorter with additional details on the microservice architecture decision. Descriptions for each microservice can be moved into documentation for the API.

Copy link
Member

@redsn0w422 redsn0w422 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good start! Remember to spell check the post 😄

Also, I'd be more explicit about why we opted to write our own API vs. using something else, or something more simple like Typeform/Google docs/etc.

There are a certainly more features which would be very useful for both staff and hackers at HackIllinois, but these are the core requirements we will start off with. Once completed, we can explore more advanced functionality.

### Implementation Strategy
As mentioned at the begining of the post, there have been a few iterations of the API over the years. The purpose and requirements of the API over the years has remainds relativley constant, however the implementation has greatly different from iteration to iteration. Each iteration of the API aims to innovate and take a new approach to solving problems which arose in the past. [Last year's API](https://github.com/HackIllinois/api-2018) was implemented as a monolithic application using nodejs and MySQL for the database. It worked and cewrtainl met the requirements defined for HackIllinois 2018, however some issue we ran into during the development was the lack of compile time type safety and annoyance of building a new database migration for any minor change to the defined scheme. This year we aimed to reimplement the API from scratch and resolve these issues.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spellcheck

@ASankaran ASankaran closed this Jul 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

API, Infrastructure, and Technical Posts
5 participants