CalenderyBack is the server-side backbone of a social calendar application built with Spring Boot 4 and Java 21. It exposes a secure REST API plus a real-time STOMP/WebSocket channel for private messaging, backed by PostgreSQL and Supabase Storage for media. All protected endpoints use HTTP Basic auth with Spring Security role-based access control.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Rubick65/calenderyBack/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Run the server locally and make your first authenticated API call in minutes.
Authentication
Learn how to register, verify your account, and authenticate all requests.
API Reference
Browse every REST endpoint — users, publications, social graph, and messaging.
WebSocket Messaging
Send and receive real-time private messages over STOMP WebSocket.
What CalenderyBack Provides
CalenderyBack ships a complete API surface for building social calendar clients:User Management
Registration with email verification, profile management, and public-key exchange for end-to-end encryption.
Publications
Create calendar-linked posts with media stored in Supabase Storage. Fetch home feeds and profile timelines.
Social Graph
Follow and unfollow users, list followers and following, and search the user directory.
Real-Time Chat
Create chats between users and exchange private messages with delivery and read receipts.
Getting Started
Clone and configure
Clone the repository and set the required environment variables (
DATA_BASE_URL, SUPABASE_URL, etc.) as described in the configuration guide.Build and run
Build the Docker image and start the server on port 8080 with
docker compose up or by running the JAR directly. See the Docker deployment guide.Register a user
Call
POST /api/users/auth/register with an email and password. Confirm the verification email to activate the account.Authenticate and explore
Pass
Authorization: Basic <base64(email:password)> on every protected request. Explore the full API Reference.All endpoints under
/api/*/app/** require a user with the ROLE_USER role. Public endpoints (registration, confirmation, login) are open without credentials.