Projects
Project workflow
Create your own repository by forking this repository. Also add your tech lead and your PM as members of the project with roles developer.
Required git workflow
Set up a develop
branch. During each milestone, your team will use this branch for development. All changes to this branch should be made through a merge request (MR). At the end of each milestone, you will create a MR called Milestone-X into the main
branch.
For milestones 2 and 3, your tech lead will review your changes, provide feedback, and request any necessary modifications. For these milestones, the tech lead must approve your changes before you can merge them! For milestones 1 and 4, you can merge the MRs immediately after the review meetings.
Project assignments
PM will give you a task to create an application of one of the following topics:
- Cash Flow Records
- TODO List
- Recipes DB
- Share Car Rider
All projects have functional and technical requirements. The technical requirements are identical for all projects, whereas the functional requirements are individual as they are uniquely prepared for your team by your PM.
The technical requirements:
- the ability to persist the data (milestone 3).
- all non-GUI related operations shall be non-blocking (milestone 4)
Cash Flow Records
The desktop application will allow me to track my personal cash flow. I want to know how much money I receive and spend, when and for what.
The basic functionality requirements:
- I want to insert, update and delete transactions
- I want to insert, update and delete categories and assign them to transactions
- I want to insert, update and delete currencies (e.g., CZK, EUR)
- I want to insert, update and delete transaction templates from which I can create a new transaction
- I want to view transactions based on selected filters
- I want to see statistics about recorded transactions (e.g., my current balance)
- I want to import/export data to/from the application
TODO List
The desktop application will help me with organizing tasks I should do. The task should tell me what should I do, where should I do it, when is the due time, and what is the estimated time for the task. I would like to categorize the tasks. I want to filter the tasks by their progress.
The basic functionality requirements:
- I want to insert, update and delete events
- I want to insert, update and delete categories and assign them to events
- I want to insert, update and delete intervals such as lesson (45 minutes) or lecture (100 minutes)
- I want to insert, update and delete event templates from which I can create a new event
- I want to view events based on selected filters
- I want to see statistics about events (e.g., number of planned or done events, additionally, possible extension of event status such as in-progress)
- I want to import/export data to/from the application
Recipes DB
The desktop application will allow me to track my recipes. I want to browse through recipes, track ingredients and instructions and have information about their nutritional value.
The basic functionality requirements:
- I want to insert, update and delete recipes
- I want to insert, update and delete categories and assign them to recipes
- I want to insert, update and delete ingredients, including their nutritional value
- I want to insert, update and delete custom units (e.g., a cup of smth, a teaspoon of smth)
- I want to assign ingredients to recipes with a proper unit (e.g., grams, milliliters, pieces, …) and amount
- I want to view recipes based on selected filters
- I want to see statistics about recipes (e.g., nutritional value - calories)
- I want to import/export data to/from the application
Share Car Rider
The desktop application will allow me to track my personal rides (e.g. regular rides, trips…). I want to know how much money I spend on fuel, how many passengers I have and distance traveled.
The basic functionality requirements:
- I want to insert, update and delete rides
- I want to insert, update and delete categories and assign them to rides
- I want to insert, update and delete currencies (e.g., CZK, EUR)
- I want to insert, update and delete ride templates from which I can create a new ride
- I want to view rides based on selected filters
- I want to see statistics about recorded rides (e.g., distance traveled)
- I want to import/export data to/from the application