Congratulation for successfully completed the Git and Github onboarding session. 🎉
For this assignment, you are require to create a simple application in order to practice the Git knowledge that you have learned. Practice make perfect, right?
🚨 Read the Objective before you go straight to the Project Details.
- To implement the Git and Github knowledge in application development.
- To implement Git commit convention.
- To learn fundamentals of application deployment.
- To learn software engineer adaptation practices.
- To learn about Pull Request and code review.
- To implement modularization and single responsibility design (SOLID).
- To write a well-documented applications.
By using Streamlit framework, create an application that has basic calculator features.
-
Fork this repository and clone the repository.
-
Create a
virtual environment
and activate it before start installing project packages. Read more -
Develop calculator app should have the following features:
- Addition feature- adding 2 numbers
- Substraction feature- substracting 2 numbers
- Division feature- dividing 2 numbers
- Multiplication feature- multiplying 2 numbers
-
Deploy your apps on Streamlit Cloud.
-
Share the deployed apps URL in the Pull Request.
-
Your application should have Titles and necessary UI cosmetics.
-
Your repository should have the following file structure (you can add more necessary files):
onb_assingment/ |-- README.md |-- .gitignore |-- LICENSE |-- requirements.txt app/ |-- main_ui.py |-- calculator.py |-- utils.py
Files Description main_ui.py user-interface (streamlit) calculator.py backend function utils.py helper function requirements.txt list of libraries -
Your functions or methods should be within your palm size.
-
Your apps should use modularization by separating function into smaller size.
-
Your function should have docstrings and necessary comments.
-
Your application should be friendly user.
- You git this! Use git add, git commit, git push, git pull.
- Clear message is important. Use git commit convention.
- Avoid global pollution. Use virtual environment.
- Hell no scripts chaos! Implement modularization.
- Serve your app. Implement user interface from Streamlit.
- Help your future self! Write well documented functions (dostring)