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
Prizes
Top Project in a Pod
Amazon Echo Dots + MLH Swag per team member
Judges
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

