Home automation platform, the project in which I put the most effort. Started it at the very beginning of the programming journey. This project involves a lot of different topics, like networking, electronics, mobile and web development, databases, devops, etc.
- Rust for high performance networking services with low memory footprint. My plan is to run that on cheap Raspberry Pi.
- C++ for embedded devices, like ESP8266 or ESP32.
- PostgreSQL database for storing users and devices.
- Redis database for storing refresh tokens, this allows token invalidation.
- Websockets transport protocol for communication between backend and embedded devices.
- Go programming language for OAuth2 Server implementation for Google Smart Home Actions. Resigned because it turned out to be too simple languague, and things like enums, especially for parsing JSON is not possible.
- Typescript for Web application and backend
- React for Web application
- Flutter for mobile application.
- MongoDB as primary database, abandoned because I wanted to learn more about relational databases.
- MQTT as transport layer protocol between embedded devices and services.
Lightweight client-server messaging protocol. Intented to work for Houseflow, as a replacement to MQTT which don’t really fit into my use-case. Now work is continued under new name Lighthouse at Houseflow.
Made using Go programming language.
Decentralized P2P messaging app. Allows real-time messaging without server.
Made using Go programming language and LibP2P.
My first steps in databases, scraping data from e-cig flavours manufacturers and providing service for VapeTool.
Made using Typescript.
github.com/gbaranski/OpenFlavour-API and github.com/gbaranski/OpenFlavour-Scraper