Coder Social home page Coder Social logo

cataand / tfg-paddel Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 1.0 66.35 MB

Grade Thesis Project for the detection of Parkinson's disease through video of the finger-tapping test.

Home Page: https://paddel.catalin.sh

License: MIT License

Jupyter Notebook 11.08% Makefile 0.19% Python 29.32% Dockerfile 0.62% TypeScript 20.14% JavaScript 0.29% CSS 0.15% HTML 0.18% Svelte 38.03%

tfg-paddel's Introduction

PADDEL

Repository for PADDEL (PArkinson's Disease DEtection Library).

Author: Catalin Andrei, Cacuci

This site can be accessed at paddel.catalin.sh also, the API documentation can be found at api.paddel.catalin.sh/docs.

There is a default user that cannot be deleted with the following credentials:

Username: test

Password: secret

Video guides for the application deployment and model generation can be found on the Paddel YouTube channel.

Project structure

This project has the following components:

PADDEL library

Located in the paddel directory, this is an installable Python package that contains the core of the application.

Notebooks

The notebooks directory contains multiple Jupyter notebooks that were used during the research and development of the PADDEL library.

Web application

Located in the app directory, it is comprized of the following Docker containers:

  • proxy: Caddy web server based container that implements a reverse proxy to forward api requests to the api container and web requests to the web container. This container also serves as an SSL certifiate management tool to automate the creation and renewal of these certificates, redirect http requests to https and thus allow for a secure connection across the Internet.

  • web: NodeJS-lts based container implementing the SvelteKit JavaScript library. It interacts with the API to fetch the data it needs.

  • api: Python 3.9 based container with a FastAPI instance that depends on the PADDEL library. It's main purpose is to serve as an interface between the website and the library. Swagger documentation for the API can be accessed in the /api/docs path of a deployment of the containers.

  • database: PostgreSQL 15.2 based container. It is used by the API to persist information.

This folder also containes a sample.env file which contains environment variables used by the containers and some base values. It should be edited to match the running environment both in production and development and saved as .env in the same directory.

Once the .env file is setup launching the containers is as simple as executing make prod or make dev accordingly while having the Docker Engine running. In development mode the web and api containers scan the source code and reload automatically when a change is detected, this will work most of the time, but some changes may still require a restart of the containers.

Restarting the containers is done by re-running the make prod or make dev command.

Stopping the containers is done by running make down, this will also remove the container images, but not image cache, so build time will still be fast after the first build.

Documentation

The docs folder contains the LaTeX documentation for this project, it is written in Spanish.

tfg-paddel's People

Contributors

catalinsh avatar

Stargazers

Adrián avatar Gabriel H.V. avatar Mario Hurtado Ubierna avatar Acha avatar José Miguel Ramírez Sanz avatar

Watchers

Álvar Arnaiz-González avatar  avatar

Forkers

2022-23-tfg-jun

tfg-paddel's Issues

Incluir logo de la UBU y acerca de

Creo que podría ser interesante incluir el logo de la UBU en la web, si te parece bien.

En cualquier caso sí que creo que es interesante mostrar un botón de "Acerca de" o similar donde aparezca que este desarrollo lo has realizado tu bajo nuestra supervisión en el marco del proyecto FIS "Estudio de factibilidad y coste-efectividad del uso telemedicina con un equipo multidisciplinar para prevención de caídas en la enfermedad de Parkinson".

Y agradeciendo a los pacientes que han suministrado vídeos y a la asociación de Parkinson

Cambios menores en la interfaz web

Traducciones:

  • "Can't process video, please check it." -> "Can't process video, please check it out."
  • "Documentation for the API for the PaDDeL website" -> "Documentation of the API for the PaDDeL website"
  • "Hand shown in video" -> "Hand shown in the video"
  • Los tooltips no salen en inglés, ej: enviar un vídeo sin informar los campos.
  • No traduciría "Universidad de Burgos" en inglés, lo dejaría tal cual. De paso hacer que sea hipervínculo a ubu.es

Notebook/Script for feature extraction

I have been checking the notebooks of the repository and I haven't found yet the code for feature extraction, i.e., the process of video reading, call tsfresh...

Is it in the repository?

Botón de volver tras la predicción

No sé si merece la pena, pero es un poco raro que al llegar a la predicción no se pueda volver a la página anterior con un botón. Si lo ves bien puedes incorporarlo, sino no pasa nada.

imagen

Finish the repo

Some comments that must be noted about the Github's repository:

  • Remember to add a release before next Monday.
  • Give more information on the README:
    • Author's name
    • A snapshot of the webpage
    • All information that you think is relevant for the user
    • Links to the documentation (pdf files)
  • Information in the about, not only the URL.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.