Skip to content

ochin-space/ochin-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Ochin Manager

Ochin Manager is a modular system designed for remote management and monitoring of hardware peripherals, primarily targeting Raspberry Pi CM4-based platforms. The project is composed of three main components: a backend (Flask/Python), a frontend (Vue 3), and a plugin template system for extensibility.


Project Structure

  • ochin_manager_backend_RPi/
    The backend REST API server, built with Python and Flask.
  • ochin_manager_frontend/
    The frontend web application, built with Vue 3, Vite, and TailwindCSS.
  • plugin_template/
    A template and build system for developing and packaging custom plugins.

Backend

The backend provides a secure RESTful API for:

  • Managing and controlling hardware peripherals (GPIO, UART, I2C, SPI, etc.) on the Raspberry Pi CM4.
  • User authentication and authorization using JWT tokens.
  • System management features (e.g., service control, status monitoring).
  • Dynamic plugin loading: plugins can extend the backend with new API endpoints and Swagger documentation.
  • Serving plugin frontend assets to the web client.

Technologies:

  • Python, Flask, Flask-JWT-Extended, SQLAlchemy, SQLite

Frontend

The frontend is a responsive web application that allows users to:

  • Log in and manage their session securely.
  • Interact with hardware features exposed by the backend (GPIO, I2C, system status, etc.).
  • Manage plugins: upload, delete, and use dynamically loaded plugin UIs.
  • Access system and user management tools.

Technologies:

  • Vue 3, Vite, TailwindCSS, Pinia (state management), Vue Router, PWA support (via Vite plugin), Capacitor (for Android APK builds)

Plugin Template

The plugin template provides a standardized way to create new features for Ochin Manager:

  • Frontend:
    Vue component(s) compiled as JavaScript modules, loaded dynamically by the main frontend.
  • Backend:
    Python Flask blueprint(s) that register new API endpoints.
  • Swagger:
    JSON files describing the plugin's API for automatic documentation.
  • Manifest:
    A manifest.json file describing the plugin's structure and entry points.
  • Build Script:
    A Python script to package all plugin components into a single ZIP file for easy upload and installation.

How Plugins Work:

  1. Developers use the template to implement new hardware features or integrations.
  2. The plugin is packaged as a ZIP file and uploaded via the frontend.
  3. The backend extracts and loads the plugin, registering new endpoints and serving frontend assets.
  4. The frontend detects and loads the plugin UI dynamically.

Getting Started

See the individual README.md files in the backend and frontend folders for setup and usage instructions.


License

This project is released under the MIT License.

About

Ochin Manager is a modular system designed for remote management and monitoring of hardware peripherals, primarily targeting Raspberry Pi CM4-based platforms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors