← Back to projects
Calendar
#Calendar
#🚧 Under Construction
A task organizer application.
#Tech Stack
- Backend: Java + Spring Boot
- Frontend: Angular
- Mobile: Flutter
- Desktop: Java
- Database: PostgreSQL
- Containerization: Docker + Docker Compose
#Requirements
Before running the project, make sure you have installed:
- Docker
- Docker Compose
You can verify your installation with:
docker --version
docker compose version
#Running with Docker
Clone the repository:
git clone <repository-url> cd Calendar
Create the environment file if the project provides an example:
cp .env.example .env
Then start the containers:
docker compose up --build
To run the containers in the background:
docker compose up --build -d
Check the running containers:
docker compose ps
View the logs:
docker compose logs -f
#Stopping the Application
Stop the containers:
docker compose down
To also remove the associated volumes:
docker compose down -v
Removing volumes deletes the data stored by the containers, including the PostgreSQL database.
#Project Structure
Calendar/ ├── backend/ # Spring Boot API ├── desktop/ # Desktop application ├── frontend/ # Web application ├── mobile/ # Flutter application ├── .github/ │ └── workflows/ # CI/CD workflows ├── docker-compose.yml └── README.md
#Development
The project is divided into independent applications:
#Backend
cd backend
./mvnw spring-boot:run
#Frontend
cd frontend
npm install
npm start
#Mobile
cd mobile
flutter pub get
flutter run
#Desktop
cd desktop
mvn clean verify
#Testing
#Backend
cd backend
./mvnw clean verify
#Frontend
cd frontend npm test
#Mobile
cd mobile flutter test
#Code Analysis
The project uses GitHub Actions for continuous integration and CodeQL security analysis.
The CI pipeline covers:
- Backend build and tests
- Desktop build and tests
- Frontend formatting, tests and production build
- Mobile dependency resolution, analysis, tests and APK build
- CodeQL analysis for Java and JavaScript/TypeScript
#License
This project is currently under development.