Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zenorachi/image-box
ImageBox is a service that is used to upload files that are uploaded to an external Object Storage. You can only upload images in png & jpeg, no larger than 10 mb.
https://github.com/zenorachi/image-box
docker docker-compose go golang golangci-lint jwt minio nginx postgresql rest s3-storage
Last synced: 9 days ago
JSON representation
ImageBox is a service that is used to upload files that are uploaded to an external Object Storage. You can only upload images in png & jpeg, no larger than 10 mb.
- Host: GitHub
- URL: https://github.com/zenorachi/image-box
- Owner: zenorachi
- License: mit
- Created: 2023-07-29T18:26:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-22T16:30:00.000Z (about 1 year ago)
- Last Synced: 2024-10-12T04:22:14.181Z (about 1 month ago)
- Topics: docker, docker-compose, go, golang, golangci-lint, jwt, minio, nginx, postgresql, rest, s3-storage
- Language: Go
- Homepage:
- Size: 296 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ImageBox
ImageBox is a service that is used to upload files that are uploaded to an external Object Storage. You can only upload images in png & jpeg formats, no larger than 10 mb.#### Technologies used:
* [Golang](https://go.dev), [PostgreSQL](https://www.postgresql.org/)
* [REST](https://ru.wikipedia.org/wiki/REST), [Swagger UI](https://swagger.io/tools/swagger-ui/)
* [JWT Authentication](https://jwt.io/)
* [MinIO](https://min.io/)
---## Getting started
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these example steps.### Installation
1. Clone the repository:
```shell
git clone https://github.com/zenorachi/image-box
```
2. Setup environment variables (create .env file in the project's root):
```dotenv
export DB_HOST=
export DB_PORT=export DB_USERNAME=
export DB_NAME=
export DB_SSLMODE=
export DB_PASSWORD=export POSTGRES_PASSWORD=
export MINIO_ROOT_USER=
export MINIO_ROOT_PASSWORD=export HASH_SALT=
export HASH_SECRET=
```
> **Note:** if you build the project using Docker, setup *DB_HOST=db* (as the container name)
3. Compile and run the project:
```shell
make
```
4. Go to `http://localhost:8080/docs/index.html` and test the ImageBox API.