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
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.
- 🎯 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.
docker run -d \
--name acal \
-p 5000:8080 \
-v ~/acal-config:/app/config \
-v ~/acal-images:/app/images \
arizonagreentea0905/acal:latestgit 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
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
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
# 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
- Docker - Official image available at
arizonagreentea0905/acal - Traditional Hosting - IIS, Nginx, Apache, or cloud platforms
📖 For production deployment instructions, see the Deployment Guide
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feat/your-feature-name) - Make your changes and write tests
- Commit with clear messages
- Push and open a Pull Request
📖 For detailed contribution guidelines, see the Development Guide
Note: Request access to our YouTrack board for regular collaboration.
Comprehensive documentation is available in the doc directory:
- Getting Started - Installation and first-time setup
- Configuration Guide - Complete configuration reference
- User Interface Guide - Features and layout options
- Troubleshooting - Common issues and solutions
- Architecture Overview - System design and structure
- Development Guide - Setup and contribution workflow
- API Reference - Services, models, and interfaces
- Deployment Guide - Production deployment instructions
This project is licensed under the MIT License - see the LICENSE file for details.
- 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.
- 🐛 Issues:
- Community: GitHub Issues
- Developers: YouTrack Issues
- 📧 Contact: ArizonaGreenTea05
⭐ Star this repo if you find it helpful!
Made with ❤️ by ArizonaGreenTea05




