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

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published