ymshenyu / MoodyAPI

Server, client and other components for Moody's Infrastructure.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MoodyAPI

API Clients/Agents/Server for Moody's Infrasturcture, and a place where I learn various programming languages.

Language Ingredients: C++, CMake, Golang, PostgreSQL, QML, Rust, TypeScript

Component Build Status
API Server Build
Web Panel Build Lint
Qt Client Build
Camera Agent Build
Notifier Agent Build
PiScreen Build

Functionalities

  • Camera Controlling: Whether to turn on. or turn off a remote camera.
  • Notification Handling: Pushing notifications to all clients.
  • Dynamic DNS Server.
  • Monitoring Screen on RPi: CPU, Memory, systemd serivces, IP Address.
  • (WIP) A central management panel for all functionalities.
  • (TODO) Wireguard Clients Managing: Managing Wireguard clients and setting IPs. Removed due to lack of interests.

Components

  • A common Server, implemented in Golang
  • A Web Panel managing API clients and Wireguard clients, using Next.js (React)
  • Some common assets, including systemd services and some sudoers configurations

Camera Controllers

  • CameraAgent: Camera agent monitoring the camera state and perform start/stop tasks, written in Rust
  • Client: A Qt-based client toggling app, for both Desktop and Android platforms
  • PiScreen: A C++ SH1106 OLED screen controller to display camera status messages

Notification Handlers

  • Notifier: The notification daemon and sender (WIP), written in Rust.

LICENSE

I don't think anyone would need these code, but just in case, they are licensed under GPLv3

Major Credits:

About

Server, client and other components for Moody's Infrastructure.

License:GNU General Public License v3.0


Languages

Language:C++ 30.8%Language:Go 22.4%Language:TypeScript 20.1%Language:QML 7.6%Language:Python 5.7%Language:Rust 5.4%Language:CMake 3.3%Language:Java 2.4%Language:CSS 1.2%Language:Shell 1.1%Language:JavaScript 0.1%