Skip to content

ArizonaGreenTea05/ACAL

Repository files navigation

🚀 ACAL: Your Personalized Digital Hub for Calendar, Photos, and Music

GitHub release

GitHub stars GitHub forks YouTrack issues GitHub issues GitHub license

Buy Me a Coffee at ko-fi.com

ACAL (ACAL Calendar And Layout) is a versatile and highly customizable web application designed to help users stay organized and enjoy their digital content. Display photos, manage your calendar, and integrate music all in one elegant interface.

📚 Documentation | 🚀 Getting Started | ⚙️ Configuration | 💻 Development Guide

📖 Overview

ACAL provides a modern and adaptable solution for visualizing important events, showcasing personal photo collections, and integrating music playback. Built with Blazor Server, it offers a rich interactive user experience while leveraging the robust capabilities of the .NET ecosystem. Whether you're looking to streamline your daily schedule or create a dynamic digital display, ACAL makes it easy to personalize your space and keep everything important in sight.

✨ Features

  • 🎯 Interactive Calendar View: Visualize and manage events with a customizable calendar interface.
  • 📸 Personalized Photo Display: Showcase cherished memories and dynamic photo albums.
  • 🎶 Integrated Music Player: Seamlessly control and enjoy your favorite tunes with Spotify integration.
  • 🎨 Customizable Layouts: Tailor the application's appearance and content arrangement to your preferences.
  • 📈 Efficient Organization: Stay on top of your schedule and important activities, ensuring you won't miss a thing.
  • ⚙️ Modular Architecture: Built with a clean, project-separated structure for maintainability and extensibility.

🖥️ Screenshots

Agenda horizontal (with image)

Screenshot 1

Agenda vertical (with/without image)

Screenshot 1

Screenshot 1

Calendar horizontal (with/without image)

Screenshot 1

Screenshot 1

🛠️ Tech Stack

Frontend: Blazor HTML5 CSS3

Backend: ASP.NET Core C#

DevOps: Docker

🚀 Quick Start

Docker (Recommended)

docker run -d \
  --name acal \
  -p 5000:8080 \
  -v ~/acal-config:/app/config \
  -v ~/acal-images:/app/images \
  arizonagreentea0905/acal:latest

Manual Installation

git clone https://github.com/ArizonaGreenTea05/ACAL.git
cd ACAL
dotnet restore
dotnet build
dotnet run --project CalendarView/CalendarView.Web

📖 For detailed installation instructions, see the Getting Started Guide

📁 Project Structure

ACAL is organized into multiple projects for maintainability:

  • CalendarView.Web - Main Blazor Server application
  • CalendarView.Shared - Shared UI components and pages
  • CalendarView.Services - Business logic and external services
  • CalendarView.Core - Domain models and entities
  • Common / Common.UI - Shared utilities
  • Spotify - Spotify API integration

📖 For detailed architecture information, see the Architecture Overview

⚙️ Configuration

ACAL is configured via appsettings.json with support for:

  • 🔒 Authentication - HTTP Basic Auth with browser-native login
  • 🎨 Design - Layouts, colors, date/time formats
  • 📅 Calendars - Multiple ICS sources with custom colors
  • 🎵 Spotify - Music integration (Premium required)

📖 For complete configuration reference, see the Configuration Guide

🔧 Development

# Clone and setup
git clone https://github.com/ArizonaGreenTea05/ACAL.git
cd ACAL
dotnet restore
dotnet build

# Run tests
dotnet test

# Start development server
dotnet run --project CalendarView/CalendarView.Web

📖 For detailed development setup, see the Development Guide

🚀 Deployment

  • Docker - Official image available at arizonagreentea0905/acal
  • Traditional Hosting - IIS, Nginx, Apache, or cloud platforms

📖 For production deployment instructions, see the Deployment Guide

🤝 Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feat/your-feature-name)
  3. Make your changes and write tests
  4. Commit with clear messages
  5. Push and open a Pull Request

📖 For detailed contribution guidelines, see the Development Guide

Note: Request access to our YouTrack board for regular collaboration.

📚 Documentation

Comprehensive documentation is available in the doc directory:

For Users

For Developers

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built with the powerful .NET platform and Blazor framework.
  • Integrates with the Spotify API for music functionalities.
  • Inspired by the need for customizable and integrated digital displays.

📞 Support & Contact


⭐ Star this repo if you find it helpful!

Made with ❤️ by ArizonaGreenTea05

About

ACAL Calendar And Layout - ACAL is a customizable display for photos, calendars, music and so much more! ACAL makes it easy to get organized so you won’t miss a thing.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Sponsor this project

Contributors