The project is open to your imaginations! However, there are a number of requirements you need to complete, regardless of your idea! Let's discuss those below!

Web Server

A backend web server that will host the application. This must be written using Python, but you're not limited to Flask.

You're welcome to have a separate front end written in React and treat the backend as an API, but this is not a requirement. We encourage that you don't do this unless you're confident using React or a similar JavaScript framework.

Database

This can be any type of database, but bonus points for having it inside of a Docker container. It needs to be running on the same machine, and can't be hosted in the cloud like Firebase.

Container

You need at least 1 container so the final project is deployed using Docker.

Bonus points for isolating different components like your web server, database, and NGINX.

CI/CD

You must use a CI/CD system like GitHub Actions to automatically deploy your container to AWS.

Bonus points for using CI/CD to run automated tests and linters against your code when you make Pull Requests.

Monitoring

Your project must have a monitoring system to help you ensure it's operating smoothly. This can be one of the systems covered in Week 6 or something else.

Deployment

This must be deployed to AWS using a reverse proxy like NGINX.

Bonus points for hosting it with a domain. You can grab a .tech domain from Domain.com by asking your Pod Leader!

Note: the code changes on Fridays. Sprint 2 code will begin on August 6th.

 

The 3 weeks are broken down into week long sprints. Let's take a look at the aims for each week:

 

Sprint 1

  • Brainstorming
  • Spikes
  • Minimum Viable Product
  • Code Freeze at the end of the week
  • Milestone Demos during Friday's Pod Meeting

Sprint 2

  • Implementing feedback from the Code Freeze
  • Building the rest of the projects
  • Deploy your project onto AWS
  • Add CI/CD to auto deploy your project to AWS
  • Code Freeze at the end of the week
  • Milestone Demos during Friday's Pod Meeting

Sprint 3

  • Implementing feedback from the Code Freeze
  • Polishing the code
  • Writing tests to ensure the project is robust
  • Making a demo video
  • Any bonus features

Hackathon Sponsors

Prizes

1 non-cash prize
Top Project in a Pod
8 winners

Amazon Echo Dots + MLH Swag per team member

Judges

Will Russell

Will Russell
Program Manager

Judging Criteria

  • Containers
    Is this one container, or multiple containers isolated correctly?
  • Database
    Is it set up securely? Is it in its own container? Is Docker setup to start the database before the web server?
  • CI/CD
    Good secret management, Testing CI/CD, Bonus: Linting CI/CD + Deployment CI/CD
  • Monitoring
    Monitoring containers, site uptime, site functionality
  • Deployment
    Deployed securely using AWS and uses domain name
  • Git and GitHub
    Good commits, Good use of Issues + PRs, Clear README
  • Teamwork
    Did the team work effectively together? Did they communicate well, such as in PRs and Issues and project manage the task, using GitHub Project Boards for example.
  • Learning
    Did the team stretch themselves and learn something new in the process?
  • Completion
    Is the project completed and polished on time?

Questions? Email the hackathon manager

Tell your friends

Hackathon sponsors