Cuban Open Source Projects
Awesome list of Cuban open source projects. Just to know what is being openly developed in Cuba...
Academic Examples (Homeworks)
- calendario-matcom: Website for creating schedules easily.
- gateways: Node.js + Express + MongoDB + Vue.js CRUD example.
- matcom-messenger: Instant messaging system distributed and decentralized with client test application.
- numerical-integral-equation: Software to solve integral equations numerically.
- numerical-integration: Software to solve integrals numerically.
- numerical-nonlinear-equation: Software to solve nonlinear equations numerically.
- shellout: Simulator of a Linux shell.
- viajes-uh: Website for the planning and control of the flow of trips of the University of Havana.
- vimasm: Console text editor implemented in assembly code.
- wall-e: SINTIME programming language simulator and compiler.
- warehouse-producer-consumer: Example application of the producer consumer problem.
- webserver: Web server implemented in C.
Android Apps
- QvaPay: Aplicación móvil de la pasarela de pagos QvaPay.
- BankDroid: Transfermovil messages' cool interpreter.
- Cuba Weather: Mobile client application for www.redcuba.cu weather API. Given a location in Cuba, if it is within the permitted locations, meteorological data on the location is obtained.
- Covid19 Cuba: Mobile application of Covid19 Cuba Data project implemented with Flutter https://covid19cubadata.github.io
- daxSmail: Email client based on k9mail with some changes to simplify configuring Nauta email accounts.
- Es WIFI_ETECSA?: Checks for security vulnerabilities while connecting to WIFI_ETECSA.
- Escala Geriátrica: "Escala Geriátrica de Evaluación Funcional Global" is an instrument used in Cuba to evaluate elder people autonomy. This is an Android implementation.
- FotoRecarga: Easily reload credit from ETECSA coupons using the camera on your smartphone.
- HogarEnCuba: Client for www.hogarencuba.com made in Flutter.
- MetroTrans: Transaction viewer for Transfermovil Cuban app.
- NautaClear: Simple app to clean Nauta email account.
- PorLaLivreApp: Android app to check listings in www.porlalivre.com while offline.
- Rellama: This is an Radial app using lamw, Lazarus and Free Pascal, download in apklis.
- ShakeItOff: Turn off your Android phone screen by shaking it.
- UCIntlm: ntlm proxy (no root required) for Android.
API
- rocketchat_API: REST API wrapper for Rocket.Chat.
- vpn2go: Easy setup and API management for OpenVPN server
GraphQL
- GraphqlController: Library to develop GraphQL apis in .Net
Arduino & Pic related
Libraries
- Bmux: Need more buttons in your project but you run out of pins? no problem put up to 8 buttons in just one analog pin; with click and hold feature in the correct way.
- FT-857D CAT control: A library that allows you to simulate a Yaesu Radio FT-857D with your arduino, very usefull for ham radio projects.
- Si5351: An alternative library for the Si5351 etherkit official one, very small and with more clean signals.
- stepperUnipolar: A non-blocking stepper Library to control unipolar Motors, with some tricks under the hood (power saving!).
- Yatuli: Yet another tune lib, you don't have a rotary encoder for a project? no problem use a linear potentiometer for that.
Projects
- amake You loves Arduino but hate the Arduino IDE, no problem you can use your preffered editor and use amake under the hood to compile and upload the code (Linux only, Geany focused)
- arduino-arcs Amateur Radio Control Solution, a complete solution for a front panel to modernize old or homebrew hamradio equipment
- carrito & carrito-control a cuban hombrewed small car project from scrap parts.
- esp8266_wx_station A DIY meteorological weather station based on ESP8266 Arduino board that reports to a SBC/PC via wifi
- Multi Porobe SWR meter a inteligent meter for SWR and POWER readings for ham radio transmitters, also has a automatic way to control ICOM antenna tuners for no-ICOM radios
Bots
Deltachat
- simplebot [WIP] A pluginable Delta Chat bot written in Python3.
Telegram
- binarycoffee_bot It is the official bot of the Binary Coffee community, it keeps the Telegram channel updated with the latest articles
- Cuba-Weather_bot consults weather info from www.redcuba.cu using cuba-weather.
- Covid19 Cuba Bot para dar seguimiento a la pandemia de COVID-19 en Cuba.
- longPollRobot sends polls with more than 10 options and they will be divided equally using a command.
- PTB Django Cookiecutter A simple cookiecutter to create Python Telegram bots, wrapped with Django.
- tg-telegraf-bot is a simple bot for group management and fun. Live at @massickRemixBot.
- web_podcast bot serving ElEnjambre podcasts via Telegram.
Catalogs
- FreeLibrary: Digital library where users can upload personal and third-party books.
- q-guide: Q-Guide is a frontend to the ETECSA numbers database.
Competitive Programming
- TeamReference: Team reference for Competitive Programming. Algorithms implementations very used in the ACM-ICPC contests. Good Latex template to develop your own team reference.
Docker
- DockerImageSave Saves docker images on a remote host and allows you to download them to circumvent Docker censorship on Cuba
- Portainer Stack Utils CLI client for Portainer
- restana-static Efficiently serve static files using Node.js and Docker containers: https://itnext.io/restana-static-serving-the-frontend-with-node-js-beyond-nginx-e45fdb2e49cb
- SimpleStaticServer Zero-configuration server for static files. Optimized for HTML5 games and Single Page Applications. Made with Go.
Frameworks
- 0http Cero friction HTTP request router/framework. The need for speed!
- ComposedViews: A PHP framework for build redistributables views and compiled from objects.
- GluePHP: Single page applications development framework using the event driven development paradigm.
- mailProc: Mail based services microframework.
- PyramidalTests: Extends applications of PHPUnit to the BDD field.
- Raptor.js: Full Stack Web Framework for Node.js, is part of a branch maintained by Raptor Project a cuban opensource iniciative. This framework use express like core http handler, implement a based component architecture with several default components dedicated to Security (Access control, biometric protection) and more. You must download the raptor-cli tool from the NPM raptor-cli to create and run your project.
- restana Super fast and minimalist web framework for building REST micro-services.
- StratusPHP PHP framework for creating single page applications using the event-driven programming paradigm.
Game Engine
- Nawito1906: Chess game engine.
Hacks
- easy_mvp: Construct MVP PyQt5 application easily.
- Kindle PyQT Apps: Python2.7 + PyQt4 new and ported apps to Amazon Kindle devices.
- Kindle Python PyQtEnv: Python2.7 + PyQt4 environment setup for Kindle touch and PaperWhite Amazon jail broken devices.
Integrated Development Environments (IDEs)
- Phaser Editor 2D: A complete & visual editor for making HTML5 2D games (website). Games are based on the Phaser framework.
Internet of Things (IoT)
- IoTInternetMonitor: An internet connection monitor for ESP8866 with Micropython
- PowerM: A Headless server for automation through email.
- vernemq_kinesis: VerneMQ plugin that aggregates and sends MQTT messages to AWS Kinesis.
- vmq_cloudwatch_metrics: VerneMQ plugin to send broker metrics to AWS CloudWatch.
Monitoring & Observability
- lager_logentries: Backend for Lager (the Erlan logger) to send logs to Logentries via Token TCP.
Multimedia
- LazView: imagen viewer written in Free Pascal and Lazarus
- MystiQ: Qt5/C++ FFmpeg Media Converter.
- Picta Downloader GUI: allows you to download audiovisual content from Picta
- VideoMorph: GUI wrapper for ffmpeg.
Open Scientific Research
Machine Learning / Deep Learning Models
- DeepVertebralLabeling: Deep learning model for spine vertebral labeling on Magnetic Resonance Imaging.
- LVNet: Deep learning model for heart left ventricle segmentation on Magnetic Resonance Imaging.
Scientific software
- BacillusMarker: BacillusMarker is an application to easy mark bacillus of tuberculosis.
- ParasiteMarker: ParasiteMarker is an application to easy mark Malaria parasites.
Other Scientific Open Source Projects
- ECG BaseLine Wander Removal Methods: This repository contains 9 methods for Base Line Wander removal on Electrocardiogram signals. It also contains 3 similarity metrics that are applied to signals.
Engineering Calculations
- Lubepy: Lubepy is a library that provides a set of basic calculations that applies to machinery lubrication. It's designed to be use on field to do fast calculations.
Repository management
- Sheldon: Tool to help donwload repositories for Debian/GNU Linux based distros using apt-mirror.
- Tinp: tinP is not PSC. Debian based customized repository creator. Core and CLI.
SDK
- Div Software Solutions: Open Source SDK (a set of libs, frameworks and tools for software development)
- qvapay-go: Open Source SDK (non-official client for qvapay service with go)
System
- AWGG: advanced Wget GUI.
- awstail: Like
tail -f
for AWS Logs. - bootify: Bash script to make bootable USB drives with Windows 7/8/8.1/10 installation files
- cuba-weather: Python3 client for redcuba.cu weather API.
- cuba-weather-dart: Dart client for redcuba.cu weather API.
- cuota_datos: Cuota Datos is an application and script used to know the mobile data quota status of your Etecsa account from the Windows console or from the Linux console.
- DeVil: Python library to create daemon apps for GNU/Linux systems.
- Extend2VNC: Extend2VNC can extend the screen of your Linux computer wirelessly using a virtual video interface and vncserver.
- jNauta: incomplete library to manipulate Nauta emails accounts and authenticate in Nauta network.
- MailAD: Full mail server configuration script, with the user's base from Samba/Windows Active Directory, manage users directly in the RSAT
- mdexportab: Handy script to export MDaemon's WorlClient addressbooks for all users in the domain in case of a migration
- Multicp: Copy files to multiple destinations faster.
- nauta-cli: command line utility to manage Nauta captive portal.
- nauta-cli: fork on the previous.
- NautaPy: Python API + CLI to Nauta captive portal.
- Nauta.Net: Windows desktop app to authenticate in Nauta network.
- ngonx: It`s a simple proxy server written with go. The core services are based on nginx server, and traefik
- openvpn-install: OpenVPN fast installer for Debian and Ubuntu.
- simple-backup: a simple way to backup a directory using the storage server with Amazon S3 compatible API like (Minio, Spaces)
- VintageReader: console ePub reader
- clipu: Yet another tool to share your clipboard amongst devices in your local network.
- PsiphonQt: A Psiphon GUI client builded in Qt
- suitetecsa-sdk-python: A python library that makes it easy for you to interact with ETECSA's web services.
Desktop
- blue-nauta: Cross-platform application to log in to the nauta network.
- devdocs-desktop: Desktop app for DevDocs.
- link-zone-desktop: Desktop app to easily manage the Alcatel Link Zone.
- nx-simplemenu-applet: Menu Extension for Plasma 5.
- prognos: aplicación para monitorear el estado del tiempo en Cuba.
- qvapay-desktop: Desktop app for QvaPay
- VPS Etecsa Calculator: Simple calculator for ETECSA VPS prices.
Tutorials & Challenges
- PyCalc: PyCalc is a sample calculator implemented using Python 3. The GUI is built using PyQt5, Tkinter, PySide2, and wxPython to show the flexibility of the Model-View-Controller (MVC) pattern.
- MathREPL: a basic math expression evaluator using Python's
eval()
and themath
module. - smart contract chat: An example how to build a simple web3 Dapp and smart contract.
- Wallet connect: An ease way to connect your web app with metamask with React.
GitHub actions
- rocketchat-notification-action A GitHub action that sends messages to your Rocket.Chat server using credentials instead of webhooks.
Web Applications
- BacheCubano: Web of Stores, Classifieds and Businesses in Cuba https://www.bachecubano.com
- Binary Coffee Admin Frontend: Administration frontend developed in Angular of the Binary Coffee community https://binary-coffee.dev
- Binary Coffee API: Backend based in strapi of the Binary Coffee community https://binary-coffee.dev
- Binary Coffee Frontend: Frontend developed in Angular of the Binary Coffee community https://binary-coffee.dev
- Blog de Ragnarok: Reinier Hernández's personal blog serverless.
- Blog-Hive: A ReactJs front-end to have a blog with your publications in Hive BlockChain. https://abeltranp9476.netlify.app
- Bpatri: A search engine in Django to index all the patrominium videos and automate the search for them
- Callemonte: Classified search engine in Cuba https://callemonte.com
- Covid19 Cuba Data: Covid19 - Dashboard for Cuba
- CovidCuba: Website COVID-19 Pandemic Situation in Cuba. From SWL-X Project
- CubaVsCovid: An app to organize the printing and distribution of 3D parts for artificial respirators in Cuba, as part of the fight against COVID-19.
- django-misclientes: A simple Django App to manage contracts and customers in companies.
- dota2-api: Basic Dota2 API created using scraping techniques on the liquipedia.net website. Get upcoming matches and tournaments, teams and their roster, items and heroes.
- gatsby-cv-maker is a Typescript + GatsbyJS + Tailwind CSS web app for creating professional CVs. Use the demo.
- NStart: Una solucion para estudios de videojuegos que necesiten una página para promocionar su estudio, sus productos y su equipo.
- Qvolax: Live Chat System with Ajax, PHP & MySQL
- Threadly Frontend: Schedule, manage and create Twitter's threads in a thoughtful way.
- Easypodcasts: Podcasts aggregator and audio compressor for cubans.
Browser extensions
- Zen Twitter Hide Twitter vanity metrics, notifications and distractions. Get it on Chrome Store
Web Development
Javascript
- click-handler Vanilla JS Lib for Handle click and dblclick events on same element.
- Formly: A JavaScript library for form validation.
Node.js
- agnostic-http-error-handler Node.js framework agnostic HTTP error handler.
- bull-queue-manager Minimalist queue manager based on bull.
- distributed-eventemitter The ultra fast, distributed (multi process and multi server), STOMP based event emitter for Node.js!
- fast-proxy HTTP proxy library. So you can forward your HTTP request to another server.
- fast-gateway A Node.js API Gateway for the masses! https://itnext.io/a-js-api-gateway-for-the-masses-a12fdb9e961c
- fastify-msgpack Fastify and MessagePack, together at last. Uses @msgpack/msgpack by default.
- http-cache-middleware HTTP caching made simple!
- http-lambda-proxy Proxy HTTP requests to AWS Lambda.
- hydra-dashboard Hydra cluster dashboard/router application.
- hydra-integration Minimalist 'hydra integration' module, intended for Node.js web frameworks integration.
- hydra-plugin-http Hydra plugin that adds traditional HTTP requests, routing and proxy capabilities to your hydra micro-service cluster.
- k-fastify-gateway A Node.js API Gateway that just works! (based on fastify)
- keycloak-backend Keycloak Node.js minimalist connector for backend services integration.
- middleware-if-unless Invokes connect-like middleware if / unless routing criteria matches. Inspired on express-unless module.
- nacl-signature JavaScript module to sign/verify data using NaCL crypto library (TweetNaCL.js)
- on-http-end Allows to capture HTTP response content and headers on request end.
- serverless-json-parser Simple JSON parser for AWS Lambda + HTTP integration via serverless-http.
- string-mismatch.js It is a NodeJS library to see the differences between two strings. It has 3 algorithms with different computational complexities.
- webfirewall Web firewall compatible with Express/Restify and others...
React.js
- react-hooks-toolbox: Collection of reactjs hooks.
- PayLink: A payment organizer.
TypeScript
- TypeScriptTools: tools to aid frontend development with TypeScript and jQuery.
PHP
- BattlefieldMapListParser: A PHP file parser for Battlefield 3 and Battlefield 4 MapList files.
- Components: Create custom component-based structures.
- ClassBuilder: Builder for create PHP classes dinamically.
- exclusivo-entrada-plugin: Wordpress plugin to add a phrase or word at the beggining of every entry title..
- fastcode-ci: CLI commands for CodeIgniter 4 that allows to quickly create repetitive code.
- HierarchyTrait: Add hierarchical functionalities to a class.
- HttpServer: A HTTP Server written in PHP with help of the Symfony components.
- Massive Email for OsClass plugins: Massive email marketing plugin for OsClass CMS.
- mysql-php-save-v1.0: Save MySQL db in production mode, usefull for automatic backups.
- ObjectCollection: Class to represent a collection of objects of the same type.
- OJS Social Metatags: Adds Open Graph and Twitter Cards meta tags to Open Journal System based websites.
- symfony-skeleton-vkernel: Start point to build multiple Symfony applications with shared config, code and vendors in the same place/repo.
- ThenLabsStratusBundle: Extends Symfony to the full stack development with integration of StratusPHP.
- Twenty'em WordPress Framework: Wordpress framework supporting Spanish language.
- Wordpress Microplugins: Add functionality to a Worpress website with code from admin interface.
- yii2-calendly: Yii2 extension to include Calendly widgets.
- yii2-contactform-module: Yii2 module to include contact forms.
- yii2-taggedview: Yii2 extension to add standard HTML metatags and social one (Open Graph and Twitter Cards) in order to crontribute to webiste SEO.
- yii2-thumbnailer: Yii2 extension to generate (any size) thumbnails for any image on the fly.
- yii2-uploader-behavior: Yii2 extension to simplifly the process of uploading a file using a behavior that can be attached to models.
- yii2-website-module: Yii2 module to create blog type websites without restricting what you can do within a Yii2 application.
Python
- django-ajax: Django library for AJAX operations.
- django-js-choices: JavaScript model's fields choices handling for Django.
- django-l10n-cu: Django localization app for adapting a product for a cuban market, with Provinces and Municipalities tables populated in the DB.
- django-partial-date: Django custom model field for partial dates with the form YYYY, YYYY-MM, YYYY-MM-DD.
- django-pgschemas: Django multi-tenancy using PostgreSQL schemas.
- django-reactor: Django implementation of Phoenix LiveView.
- flask-base: Base structure for a web application using the Flask micro-framework and the MVC software architecture pattern.
- HTTP2COM: Windows Service that makes bi-directional proxy between HTTP and Serial Port. Can be used for web apps to access the local hardware from the brwser.
- http-requests: HTTP sync / sync library that works with both: requests and aiohttp, exploiting the best of each one.
- my-django-celery-stack: Implementation of Producer-Consumer using Docker containers with Django App, Celery Worker & Beat and RabbitMQ.
- quotation_followup: Odoo (Formerly OpenERP) module to follow up quotations by mail.
- Spia: Simple Python internationalization API.
- sqlalchemy-connector: Easy connector for SQL Databases, support for sqlite, postgresql and mysql.
- text-miner: Utilities for text mining processing.
- TextMadeWeb A website to open other websites in text only mode. Example here txtmdweb
- web2py-media-gallery: Global media gallery plugin for web2py
- web2py-no-captcha-security: No-Captcha security plugin for the web2py framework to enable bot protection using no-captcha techniques.
- web2py-simple-seo: Simple SEO metadata plugin for web2py including Open Graph and Twitter Cards.
- web2py-thumbnails: Thumbnails plugin for the web2py framework.
- web2py-typeahead: typeahead.js autocompletion widget for web2py framework.
Ruby
- kings-landing: A modern, simple and customizable landing page dedicated to early customer acquisition for frugal entrepreneurs. Think it as an open-source alternative to LaunchRock without spending 5 bucks monthly.
- pluie: A fully functional platform for sending SMS. Ten of the most used SMS-Gateways implemented including Twilio. This project was the former core of Knales
UI Libraries
- Multi Steps Form Component for Bootstrap Easily create multi-step forms for Bootstrap