Hi! You've made it! Here we are, at the end of the 1st month of Bootcamp and there is one last challenge waiting for you. Hackaton!
So your ultimate quest will be: create ToDo App. You know TODOs? Here's the example how it can look like:
We want you to create the solution for ToDo app:
- backend
- choose any technology to create backend for your ToDo app - ASP.NET Core, Sprint Boot, ...
- choose any storage for your data - SQL (MySQL, Postgres, ...), NoSQL (Firebase, Mongo, Redis, ...)
- frontend
- choose any technology to create frontend for your ToDo app - Angular, ReactJS, VueJS, Static website, ...
- make sure to not over-complicate your solution from the beginning
- will be hosted on any cloud (use free credits)
- Azure, AWS, Google Cloud, IBM, ...
- will be in your Github repository
These are the minimal acceptance criteria we would like to see in your solutions:
- creating ToDo item
- updating ToDo item
- deleting ToDo item
- mark ToDos as complete / incomplete
Here's also the list of functionalities that you can get as an inspiration for your solutions, but they're not required to be implemented:
- setting Due Date for ToDo item and showing warning once item is due
- creating lists of different ToDos (Shopping, My Daily ToDoList, ...)
- updating ToDo items as a bulk operation (setting Due Date for multiple at once, ...)
- login to the application so every user will have its own data
- automatic deletion of items which are older than couple of weeks / months - periodic deletion
- use your creativity and imagination :)
However, there are 2 rules, which all of you must obey.
- You work as individuals, so your teammates are now your rivals
- You can ask only technical questions any of Visma colleagues
Here are the criteria ordered by highest priority we'll use to decide the winner:
- Working solution
- Ease of use
- Application design
- New features implemented
- Code quality
- Used technologies / principles
Here are some optional criteria that could give you more points:
- pipeline for your solution, that will automatically deploy solution to the Cloud
- usage of tests - unit tests, API tests, ...
I put down some recommendations for you that might help you building this solution:
- Start with analysing your requirements
- create list of epics at first and then write user stories so you can see what exactly you're going to build - or simply just create list of tasks
- be agile, plan iterations and then start coding
- Before you start coding, make sure you have every tool installed / decided
- make sure you have Azure / AWS account
- make sure you have Git repository created
- make sure you have all IDEs installed with all frameworks required
- Track your progress and always test your functionality once you're done implementing a feature
- Always ask for help, do not wait too long
- be creative - start small & expand later