This API provides file upload/download operations on cloud storage. Includes local MinIO storage. But also supports Google Cloud Storage and AWS S3 with HMAC (access/secret) keys authentication.
FastAPI web framework for building REST API
MongoDB for database
MinIO for cloud storage
JWT for authentication
Docker for containerization
Docker Compose for defining and running multi-container
docker
docker-compose
docker-compose up --build
localhost:8000/docs
POST /auth/token # get token
POST /auth/refresh # refresh token
GET /files # download file
POST /files # upload file
GET /storages # get storage list
POST /storages # add storage
GET /storages/{storage_id} # get storage
PATCH /storages/{storage_id} # update storage
GET /users # get user
POST /users # add user
PATCH /users # update user
GET /users/username/{username} # check username
GET /users/{username} # get user (admin)
PATCH /users/{username} # update user (admin)
GET / # check health
Alperen Cubuk