This is a Test Driven Development Project. Please follow a test driven methodologies. That means that you write your test code first!
The basic idea of TDD is to write the test code before you write any actual code. So you write a test (which will fail) then you write the code that will make the test pass.
When you submit your code (on Github people!) then your tests MUST BE included in your code base.
In a professional setting, untested code is incomplete code.
In general: Follow recognized best practices around whatever language and test framework you are using. Eg: consistent naming conventions of functions, test files and literally everything else. Literally.
Write a software system for keeping track of bowling scores. You can read about traditional 10 pin bowling scoring here.
Please put your tests in a directory named “tests” unless the testing framework you are using follows some other convention.
This project is more about data, tests and algorithms than html. It needs a WORKING frontend but don’t spend too much time making it beautiful. Here is how it will work:
For those of you doing this in JS: Your user interface will be a web page.
For those of you completing this in Python, don’t get too fancy. Python is usually considered to be bad t user interfaces so it’s really not worth learning a python frontend framework at this point. Just use the terminal. Take a look here for some details.
And everyone: Always remember KISS.
We should be able to see at any point in time:
PLEASE DO NOT IMPLEMENT A FANCY GUI. We don’t care to see the bowling pins or the ball, we don’t care about physics.
This is not a simple project. To build something awesome you should be aware of a few architectural concepts.