Repositories

The WSHome ecosystem is split into modular repositories to promote maintainability, reusability, and independent development of each component. Here’s a quick breakdown of what each repository does:

Component
Description
Link

Backend

Kotlin + Spring Boot REST API with PostgreSQL

Frontend

TypeScript + React frontend with modern tooling

Device Firmware

ESP-IDF C project for smart devices

Kotlin Library

Custom Kotlin library for backend services

⚙️ Backend

  • Language: Kotlin

  • Framework: Spring Boot

  • Database: PostgreSQL

  • Authentication: JWT

  • Real-Time: WebSocket support for two-way device communication

  • Features:

    • User/device authentication & control

    • RESTful & WebSocket APIs

    • Role-based access management

🔗 Repo: smart_home


🌐 Frontend

  • Framework: React (Vite)

  • Language: TypeScript

  • Styling: TailwindCSS

  • Animation: Framer Motion

  • Design: Clean, modern, and mobile-ready

🔗 Repo: SmartHome


🔌 Device Integration

  • Primary Platform: ESP32 using ESP-IDF (C)

  • Communication: WebSocket-based bidirectional messaging

  • Compatibility: This system is not limited to ESP32. Any device capable of:

    • Connecting to the internet

    • Communicating via WebSocket ...can be integrated into this platform.

  • Functions:

    • Real-time command reception

    • Device state reporting

    • Custom protocol over WebSocket

🔗 Repo: home_managment


📚 Kotlin Shared Library

  • Common utilities, DTOs, and backend abstractions

  • Designed for modularity and DRY principles across microservices

🔗 Repo: wanim-library

Last updated