Resources
These resources can help you decide which stack is best for you, and jump start the development of your project!
Decisions
You'll have a lot of decisions to make before you begin...
Native
If you want to make a desktop application, a mobile app, a game, or something else, we encourage that! Just make sure you know what you're doing, and know that depending on the technology you choose, there may be limited support available.
Web Options
If you do decide to build a web application of some kind, the decisions won't end there! You'll need to choose your stack.
We recommend using a stack where each component technology works well together. It is certainly possible to mix and match; just make sure to consider the support available for any stack you choose. Some well-established stacks include:
JavaScript Based
- Node.js + Express + EJS
- MERN (MongoDB, Express, React, Node.js)
- Also MEAN and MEVN (subbing Angular/Vue for React)
Python Based
- Flask + MySQL
- Django + SQLite
Tutorials
There are a ton of tutorials available online - here are a few examples. If you don't see one that applies directly, Google will probably be able to help out!
Combinations
These tutorials combine a few different components - this may be especially helpful for full-stack applications. This can be a good place to begin if you want to start up quick.
- EJS, Node.js, and Express
- MERN Stack Guide
- MERN Stack Tutorial
- Django SQLite Tutorial
- Flask MySQL Tutorial
Back-End Building Blocks
These tutorials focus on one specific technology used in the back-end of an application - this may be helpful for foundational knowledge.
- Node.js W3Schools Tutorial
- Express Getting Started Guide
- EJS Getting Started Guide
- Python Introduction via Real Python
- Flask Mega-Tutorial
- Django First Application
- Java Codecademy Course
- Spring Boot Getting Started Guide
- C# Introduction
- ASP.NET Learning Materials
Database Designs
These resources should help you get a database up and running.
- SQL v. NoSQL
- MongoDB Tutorial
- MongoDB Atlas Setup - Cloud DB
- SQL Introduction
- MySQL Getting Started Guide
- SQLite Python Tutorial
Front-End Forays
These tutorials are specific to front-ends - they should be helpful for basic foundational knowledge.
Deployment
When your project is in a state where you're ready to show it off, it's time to deploy! To deploy just means to make something available for people to try.
In this hackathon there are no specific requirements around deployment. Any way you want to share your creation is fine!
- Sharing Your Repl
- Advanced: How to set up Continuous Deployment with GitHub Actions
- Advanced: How to submit your native iOS app to the App Store
Examples
If you don't want to start from scratch, you can take one of these boiler-plate examples. Just make sure you understand all of the code before you start!