Skip to content

snail-ML contains the logic used by the RaspberryPi computer to interact with the server and move the car

Notifications You must be signed in to change notification settings

snAIl-ML/snail-ML

Repository files navigation

SNAIL 🐌

Introduction

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.

Criteria 🔍

The criteria followed to self-evaluate the work done is grouped into four sections:

Tests

  • Passes tests.
  • 100% test coverage.
  • Appropriate feature and isolated unit tests.

Quality

  • Passes pylint.

Development

  • Evidence of git workflow.
  • Good documentation of project in the README.md.
  • Card wall in order to keep track of tasks and objectives.

Learning

  • Daily reflective blogs.
  • Daily stand ups/retrospectives or another technique for group checkins/reflection.

Sources of information 📚

The sources of information are organised as follows:

Collaborations tool

The card wall is here: Trello

Team reflections

The blog is here: Blog

About this Repository ☝️

snail-ML contains the logic used by the RaspberryPi computer to interact with the server and move the car.

Contributing 🎭

Please read CONTRIBUTING.md for details on the process for submitting pull requests to us.

Getting Started 🚴‍

First, clone this repository. Then:

To update your environment after cloning the repository, run the following command on the shell:

>pip3 install requirements

To start the server, run the following command on the shell:

>python remoteAPI.py # Start the server at localhost:5000

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/

Authors 🖋

Acknowledgments 🎓

Makers academy on their training through the last 3 months.

About

snail-ML contains the logic used by the RaspberryPi computer to interact with the server and move the car

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •