A modern Library of Alexandria for digital art
Iskandaria aims to be a unified media repository and streaming platform for preserving and enjoying digital content - music, movies, series, audiobooks, and podcasts.
- Go - High-performance backend services
- Protocol Buffers - Type-safe API contracts
- Buf - Modern protobuf toolchain
- sebuf - Efficient HTTP code generation from protobuf definitions
- Go 1.24 or higher
- Protocol Buffers (for development)
# Clone the repository
git clone https://github.com/SebastienMelki/iskandaria.git
cd iskandaria
# Install dependencies and tools
make install
# Generate API contracts from protobuf definitions (powered by sebuf)
make generate
# Build the project
make build
# Run the server
./bin/server# Run tests
make test
# Run tests with coverage
make coverage
# Run linting
make lint
# Generate protobuf code and HTTP handlers
make generate # Uses sebuf for automatic endpoint generation
# See all available commands
make helpWe welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.