SkillAgentSearch skills...

SOTA

Repository of the Final Degree Project of Mathias Brunkow Moser, this repo has the main code for the Parking Time Optimization System. This project has received the best note and Honors for the 2022 UFV Promotion.

Install / Use

/learn @matbmoser/SOTA

README

<div id="top"></div>

[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Tags][tags-shield]][tags-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] [![LinkedIn][linkedin-shield]][linkedin-url]

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/matbmoser/SOTA"> <img src="media/img/logo.jpg" alt="Logo" width="300" height="300"> </a> <h1 align="center">Sistema de Optimización de Tiempo de Aparcamiento (SOTA)</h1> <a href="https://github.com/matbmoser/SOTA"><strong>Explore the docs »</strong></a> <br > <br > <a href="https://github.com/matbmoser/SOTA">View Demo</a> · <a href="https://github.com/matbmoser/SOTA/issues">Report Bug</a> · <a href="https://github.com/matbmoser/SOTA/issues">Request Feature</a> </div> <br> <div align="justify">

Description

NOTE: The system default lenguage is Spanish, because the project is for a University in Spain (Interfaces are in Spanish, system intern communication messages are in English. The docs are in English for easing the universal undertanding of the PTOS System, all over the world)

<h2 align="Left">Parking Time Optimization System (PTOS)</h2> <p> PTOS or SOTA (in Spanish) is a Smart Parking integrated system that offers a safe live view to managers and users of a Smart Campus Parking Lot. The system is capable of handling the detection of a licence plate by a IP Camera at the entrance of a parking lot and asign to registered users a parking place with a unique ticket. <br><br> Users are able to interact with the system in a Web Aplication called UFV MyParking. There can to add vehicles that will be detected by the cameras in the parking lot entrance and exits. They are also able to visualize the parking lot capacity and status <br><br> Once a user enterers a ticket will be generated indicating the asigned parking place. This asigned place is the one that best suits the type of vehicle configured in the WebApp. <br > </p> </div> <!-- TABLE OF CONTENTS --> <summary>Table of Contents</summary> <br> <hr>

Integrated Systems:

<br> <div style="font-size:1.5em">
  1. <strong>Digital Twin</strong> (Parking Administration Platform and Simulator)

  2. <strong>DeviceManager</strong> (Simulated IP Cameras Manager Server)

  3. <strong>UFV MyParking WebApp</strong> (Vehicle and User Platform)

</div> <hr> <br>

Digital Twin ScreenShot

<br> <img align="center" src="media/img/screenshotDigitalTwin.jpg" alt="Logo" width="100%" height="100%"> <br> <br>

UFV MyParking WebApp ScreenShot

<br> <img align="center" src="media/img/parking webapp.jpg" alt="Logo" width="100%" height="100%"> <br> <br>

Virtual Tickets

<br> <img align="center" src="media/img/Tickets Virtuales.jpg" alt="Logo" width="100%" height="100%"> <br> <br> <br>

Important

If you want to deploy the system in your local machine, you must have a linux (unix) enviroment, we recommend the use of Git Bash to be able to execute the buildDocker.sh script and deploy the system into container using docker-compose

Built With

Technology arquitecture

<br> <img align="center" src="media/img/tecnology arquitecture.jpg" alt="Logo" width="100%" height="100%"> <br> <p align="right">(<a href="#top">back to top</a>)</p> <!-- GETTING STARTED -->

Getting Started

You need to install Git or GitBash to be able to handle the scripts used by the system. Despite of that you will need to install Docker in your local machine. The system has the docker files configured and waiting for being mounted.

Prerequisites

For Windows

For the installation of the system you will need:

Install Git with Gitbash

https://gitforwindows.org/

NOTE: If you already have a virtualizated linux bash shell, like cygwin, please make sure you can execute .sh scripts.

Install Docker:

NOTE: Please check the system requirements to successfullu install docker

  • Link for Windows https://docs.docker.com/desktop/windows/install/

  • Link for Mac: https://docs.docker.com/desktop/mac/install/

  • Link for Linux: https://docs.docker.com/desktop/linux/install/

Use a Web Browser

Both Digital Twin and UFV MyParking systems make use of the browser to interact with the users. So make sure that you have a updated browser like Google Chrome, Firefox, Edge or Any Chromium Browser.

<p align="right">(<a href="#top">back to top</a>)</p>

Deploying the App

1 - Start Docker Daemon

Here you will find more information about it:

https://docs.docker.com/desktop/windows/

NOTE:: In windows you just need to open the Docker Desktop App

2 - Clone this Repository

git clone https://github.com/matbmoser/SOTA.git

3 - Configure Credentials (Optional):

Configure the database credentials, default settings and default of the enviroment.

NOTE: The system is already configurated with default values, so is optional the configuration of credentials. If you are willing to modify parameters like the connection to the Database, here there is a description.

Digital Twin Global Configurations:

Go to:

 cd digital-twin/src/assets/mod/configs

NOTE: If you are unsafe about editing the configurations you can let them in their default values.

The directory contains two configuration files.


├───configs
    ├───config.php ## Global configurations
    └───db.config.php ## Database configurations

Device Manager Global Configurations

Go to:

 cd digital-twin/deviceManager/assets/mod/configs

Device Manager Scructure:

├───camera ## Camera Connection Files
│   └───socket ## Socket Camera Client Files
├───db ## Database files
│   ├───controllers ## Data Access Controllers
│   └───dbConfig.py #<HERE you can edit the DB Connection Settings>
├───docs ## Useful docs like SJMP protocol description
├───operators ## Encription Tools and Operators
├───protocols ## Comunication Protocols Handlers
├───server ## Server Files
└───globalConfig.py ##<HERE you can edit the global configurations> 
View on GitHub
GitHub Stars5
CategoryDevelopment
Updated4mo ago
Forks1

Languages

JavaScript

Security Score

87/100

Audited on Nov 11, 2025

No findings