Skip to content

shinchik17/cloud-keeper

Repository files navigation

Cloud-Keeper

Test and deploy

Home page view

Overview

A cloud file storage application that provides users such features as:

  • uploading files to storage;
  • downloading from storage;
  • renaming file or folder;
  • deleting file or folder;
  • creating folder;
  • searching for specific file or folder.

The technical requirements for this project can be found here.

Technologies and frameworks

Core:

Java Gradle Spring Spring Boot 3

User and session management

Spring Security Spring Session Postgres Liquibase Redis

Object storage

MinIO

Frontend:

Thymeleaf Bootstrap JavaScript

Testing:

JUnit5 Testcontainers

Deploy:

Docker Github Actions

Monitoring:

Prometheus Grafana

Deploy guide

Prerequisites:

Local deploy steps:

  1. Clone or download project
git clone https://github.com/shinchik17/cloud-keeper.git
  1. Navigate to the project directory
cd cloud-keeper
  1. Change prometheus password in ./monitoring/prometheus/prometheus_password.txt
  2. Configure ".env" file. Fill empty values and change some if you need
  3. Ensure that ports 80 and 3000 are free on your local machine
  4. Run multi-container application by following command:
docker compose -f compose-prod.yaml --env-file .env up -d --build

After that services will be accessible at:

  1. Enjoy :D

Acknowledgements

I would like to express my gratitude to Sergey Zhukov, the author of technical requirements.

About

Cloud file storage Java project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors