Skip to content

Tiku96/SignalDay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SignalDay

SignalDay Screenshot

An application built for the Ulanzi TC001.

(Read in English | Leggi in Italiano)


English

SignalDay is an application inspired by the wonderful Busy.bar project. It is a simplified replication designed to work with the Ulanzi TC001 smart pixel clock, built upon the foundation of the amazing AWTRIX 3 firmware.

Demo

Watch the demo video to see SignalDay in action!

Demo Video

Initial Design

Inside the stitch/ folder, you can find the very first design concepts that I started with. It contains the mockups and layouts (for both macOS and iOS) that helped shape the visual direction of this app.

Code Architecture

The application is built using Swift and SwiftUI, featuring both a macOS app and an Apple Watch companion app.

To help you navigate and understand the project, here is a brief overview of how the codebase is structured:

  • Core/: Contains the main business logic and state management.
    • AppState.swift: Manages the global state of the app, ensuring data flows correctly across the interface.
    • SystemMonitor.swift: Handles background monitoring tasks such as detecting calls, music playback, or other macOS system statuses.
    • WatchConnectivityManager.swift: Responsible for the communication bridge between the macOS app and the Apple Watch.
  • Core/Models/: Houses all the data entities used throughout the app, like PresetItem, ScheduleItem, AppStatus, and PixelCanvas configurations.
  • Views/: Contains all the SwiftUI views that build up the user interface. It is organized into clear sections like GeneraleView (general settings), AspettoView (display appearance customization), PixelArtView (for drawings), MonitoraggioView (for tracking apps/system status), LiveView (for real-time preview), alongside tools for scheduling.
  • SignalDayWatch/: The companion app specifically built for Apple Watch, allowing control directly from your wrist.
  • Language Note: Please note that the entire codebase (variables, structures, components) is written in English. However, it's highly modular and structured to be straightforward, so if you are an Italian speaker reading this, you can easily trace the logic and understand its behavior.
  • Freedom to Modify: The project is absolutely open, free, and yours to play with! You are fully welcome to explore the codebase, understand how it runs, modify it, and literally do whatever you want with it to suit your own needs without any restrictions.

Italiano

SignalDay è un'applicazione nata prendendo ispirazione dal meraviglioso progetto Busy.bar. Ne è stata replicata una versione semplice pensata per lo smart pixel display Ulanzi TC001, ed è stata costruita basandosi sul fantastico progetto AWTRIX 3.

Demo

Guarda il video dimostrativo qui sotto per vedere SignalDay in azione!

Video Demo

Design Iniziale

All'interno della cartella stitch/ si trova il design di partenza da cui sono partito per sviluppare l'app. Contiene i vari mockup per macOS e iPhone che hanno fatto da prima linea guida visiva.

Architettura del Codice

L'applicazione è sviluppata interamente in Swift e SwiftUI e include un'interfaccia principale per macOS e una companion app per Apple Watch.

Per aiutarti a navigare e capire come è distribuito il progetto, ecco un riassunto della sua struttura:

  • Core/: Contiene la logica operativa principale.
    • AppState.swift: Gestisce lo stato globale di tutta l'app e coordina le modifiche visive dell'interfaccia.
    • SystemMonitor.swift: Si occupa delle operazioni in background, come il monitoraggio di chiamate, musica in riproduzione o altri eventi del sistema macOS.
    • WatchConnectivityManager.swift: Gestisce la comunicazione in tempo reale tra il tuo Mac e l'Apple Watch.
  • Core/Models/: Racchiude le strutture dati del progetto, definendo ad esempio le logiche dei PresetItem, la programmazione oraria (ScheduleItem), lo stato interno e le configurazioni per la creazione in PixelCanvas.
  • Views/: Comprende i vari moduli dell'interfaccia, suddivisi per funzionalità come: GeneraleView (le impostazioni di base), AspettoView (per l'aspetto estetico), PixelArtView (per creare o modificare iconcine), MonitoraggioView (per osservare i processi del Mac) e LiveView (anteprima in tempo reale), oltre agli elementi per le automazioni.
  • SignalDayWatch/: L'intera parte dedicata all'applicazione per Apple Watch per comandare tutto comodamente dal polso.
  • Nota sulla lingua: Tutto il codice sorgente (le variabili, la struttura, ecc...) è mantenuto in lingua Inglese, come da standard di programmazione. Essendo documentato in modo così strutturato tramite componenti chiari, basterà leggere i nomi dei file per tradurre istintivamente in Italiano ciò che stanno eseguendo.
  • Libertà Totale di Modifica: Il progetto è completamente libero e aperto senza restrizioni! Sei liberissimo di esplorare l'intera architettura, analizzare com'è costruito, stravolgerlo e farne assolutamente quello che vuoi. Puoi apportare tutte le aggiunte o modifiche che desideri per renderlo completamente tuo.

About

A simple macOS & Apple Watch companion app for the Ulanzi TC001 smart pixel clock, built on AWTRIX 3

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors