SNAIL is a team project conducted by four software developers interested in Machine Learning and Artificial Intelligence.The MVP of this project consists on:
"Creating a self-driven car which uses ML for it to take the best decisions (turning right, turning left, drive straight). The soution will be implemented on a small scale car that will drive itself through a random circuit. Given a random circuit, we assume that the car keeps a constant speed and that it will face X-degree turns."
SNAIL constitues our Final Project for the Makers Academy Bootcamp. After brainstorming and diagramming, the MVP was delivered in just 7 days. As software develpers who experienced the same Academy, we all have an inclination to follow Agile principles, Test Driven Development and best practices for Code Quality.
As a team, our areas or focus are:
- Learning process.
- Code writing.
- Team work and use of Agile methodologies.
The Tech Stack used consists of:
- Python.
- TensorFlow.
- Flask.
- HTML/CSS.
The criteria followed to self-evaluate the work done is grouped into four sections:
- Passes tests.
- 100% test coverage.
- Appropriate feature and isolated unit tests.
- Passes pylint.
- Evidence of git workflow.
- Good documentation of project in the README.md.
- Card wall in order to keep track of tasks and objectives.
- Daily reflective blogs.
- Daily stand ups/retrospectives or another technique for group checkins/reflection.
The sources of information are organised as follows:
The card wall is here: Trello
The blog is here: Blog
pytest_tdd_practice contains exercises to practice for TDD in python
Please read CONTRIBUTING.md for details on the process for submitting pull requests to us.
First, clone this repository. Then:
To update your environment after cloning the repository, run the following command on the shell:
>pip3 install requirements
You can invoke testing through the Python interpreter from the shell:
>python -m pytest [...]
Run tests in a module from the shell:
>pytest test_mod.py
Run tests in a directory from the shell:
>pytest testing/
Run tests by keyword expressions from the shell:
>pytest -k "MyClass and not method"
To have python linter available, run the following command on the shell:
>pip install pylint
To analyse the code quality of a file, do so as in this example:
>pylint path_helper_main_ml.py
To check the test coverage, run the following command on the shell:
>py.test --cov test/
- Alejandro Pitarch Olivas Checkout my projects
- Giacomo Ninniri Checkout my projects
- Irfan Durrani Checkout my projects
- Vivian Allen Checkout my projects
Makers academy on their training through the last 3 months.