Introduces models for events and their themes, including fields for event details, location, timing, and settings. The `EventTheme` model supports theme customization with color palettes and fonts, while establishing relationships with the `Event` model. These additions prepare the database for event-related functionality.
Created reusable `Base`, `UUIDMixin`, and `TimestampMixin` in `base.py`. Added a `User` model with attributes, relationships, and database configurations in `user.py` to establish a foundation for user-related features.
Introduce the EventManager entity to improve role management, linking it between Users and Events. Adjust relationships among User, Event, and Guest, and refine EventTheme and User attributes. These changes enhance schema clarity and better represent user roles and permissions.
This commit introduces a comprehensive Entity Relationship (ER) diagram for the EventSpace schema in Mermaid format. It documents key entities, their attributes, and relationships, providing a clear visualization of the database structure. This will aid in understanding and maintaining the data model.
Refactor workflow to build Docker images based on file changes. Introduce checks to determine if backend or frontend directories were modified. Optimize build processes and include support for manual triggers and version tagging.
Added a container image definition to use ghcr.io/catthehacker/ubuntu:act-latest in the build-and-push job. This enhances compatibility when running the workflow locally with act and ensures consistency in the execution environment. Corrected spacing in the secrets configuration for better code formatting.
The QEMU setup step was redundant and has been removed to simplify the workflow. This change reduces unnecessary actions without impacting the Docker build process.
This ensures cross-platform builds by configuring QEMU in the workflow. It improves compatibility for building images targeting multiple architectures.
This ensures cross-platform builds by configuring QEMU in the workflow. It improves compatibility for building images targeting multiple architectures.
Switching the runner to Docker improves consistency and aligns with containerized build environments. This change ensures better compatibility and reduces discrepancies in builds.
This workflow automates building and pushing Docker images for the backend and frontend to the Gitea registry. It triggers on `main` branch pushes, tag pushes, or manual dispatch and supports version tagging based on Git references.
This change updates the Node.js prerequisite from version 18+ to 20+ in the README. It ensures compatibility with the latest features and dependencies of the project.
Expanded the README to include a comprehensive overview of the EventSpace platform. Added sections on features, setup instructions, technical stack, development guidelines, and privacy notice. This improves clarity for both guests and administrators.
Introduced a new `deploy` target for deploying services and a `push-images` target for building and pushing Docker images. Added a default `VERSION` and `REGISTRY` variable for streamlined image tagging and registry management. Included a `docker-compose.deploy.yml` file for deployment configuration.
Moved environment variables to .env.template for better management and updated docker-compose files to use them. Added separate docker-compose.dev.yml for development, a Makefile for streamlined commands, and split backend Dockerfile into development and production stages. Updated .gitignore to include new changes.
Introduced a new `frontend` service in `docker-compose.yml`, complete with build, healthchecks, and networking. Added a multi-stage Dockerfile for the frontend, a `.dockerignore` file, and a startup script to wait for the backend. Updated Next.js configuration for Docker compatibility and added API type definitions.
Introduce a `docker-compose.yml` to define the services for backend and database with health checks. Add Alembic configurations for database migrations and an initial empty migration. Include backend-related Docker setup with an entrypoint script for database migration execution.
This commit includes configurations and boilerplate code for both frontend and backend. The frontend uses Next.js with Tailwind CSS, while the backend is built with FastAPI. Various essential files like `tsconfig.json`, `requirements.txt`, and `.gitignore` have been added to kickstart the development process.