{"id":22021975,"url":"https://github.com/knightchaser/goanonpicdb","last_synced_at":"2026-04-05T23:36:42.708Z","repository":{"id":218473893,"uuid":"746478813","full_name":"KnightChaser/goAnonPicDB","owner":"KnightChaser","description":"A fully dockerized web application for anonymous image uploading(booru), powered by Golang and MySQL.","archived":false,"fork":false,"pushed_at":"2024-02-02T08:07:40.000Z","size":2682,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T10:27:23.186Z","etag":null,"topics":["docker","docker-compose","go-backend","image-uploading","web-backend"],"latest_commit_sha":null,"homepage":"https://www.docker.com/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KnightChaser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-22T04:36:12.000Z","updated_at":"2024-02-14T07:05:04.000Z","dependencies_parsed_at":"2024-02-02T08:48:31.527Z","dependency_job_id":null,"html_url":"https://github.com/KnightChaser/goAnonPicDB","commit_stats":null,"previous_names":["knightchaser/goanonpicdb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KnightChaser/goAnonPicDB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnightChaser%2FgoAnonPicDB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnightChaser%2FgoAnonPicDB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnightChaser%2FgoAnonPicDB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnightChaser%2FgoAnonPicDB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KnightChaser","download_url":"https://codeload.github.com/KnightChaser/goAnonPicDB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnightChaser%2FgoAnonPicDB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31454199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","go-backend","image-uploading","web-backend"],"created_at":"2024-11-30T06:16:55.122Z","updated_at":"2026-04-05T23:36:42.672Z","avatar_url":"https://github.com/KnightChaser.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# goAnonPicDB\n\n![Go](https://img.shields.io/badge/go-%2300ADD8.svg?style=for-the-badge\u0026logo=go\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=for-the-badge\u0026logo=mysql\u0026logoColor=white)\n![GitHub Actions](https://img.shields.io/badge/github%20actions-%232671E5.svg?style=for-the-badge\u0026logo=githubactions\u0026logoColor=white)\n![Bootstrap](https://img.shields.io/badge/bootstrap-%238511FA.svg?style=for-the-badge\u0026logo=bootstrap\u0026logoColor=white)\n![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge\u0026logo=windows\u0026logoColor=white)\n![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?style=for-the-badge\u0026logo=ubuntu\u0026logoColor=white)\n\n\n**goAnonPicDB** is a simple web service that allows users to anonymously upload images. It is built with Go and uses `GORM` as the **ORM (Object-Relational Mapping)** library. The images are stored in a MySQL database. It might be a good example for learning how to organize applications with `docker` and `docker-compose`.\n\n**CI/CD status**: [![automatic-docker-deployment](https://github.com/KnightChaser/goAnonPicDB/actions/workflows/CICD.yml/badge.svg)](https://github.com/KnightChaser/goAnonPicDB/actions/workflows/CICD.yml)\n\n## **Preview**\n\u003cbr\u003e**User interface (web)**\n\u003cimg src=\"./readme_pictures/webpage.png\"\u003e\n\u003cbr\u003e**Database managing uploaded pictures via filepath (real image data are uploaded to `/static`)**\n\u003cimg src=\"./readme_pictures/db.png\"\u003e\n\n## Feature\n\n* Anonymous image uploading via HTTP communication\n* Display of the 6 most recent images (number may be adjusted by user. Go to `main.go`)\n* Count of total uploaded images\n* Docker support for easy deployment (via `docker-compose.yaml`)\n\n## Usage\n\n1. **Clone** the repository:\n\n    ```bash\n    git clone https://github.com/KnightChaser/goAnonPicDB.git\n    cd goAnonPicDB\n    ```\n\n2. (optional) Modify `.env` for preconfigured environmental variables (will be applied to `docker-compose.yaml`).\n\n    ```yaml\n    MYSQL_ROOT_PASSWORD=root        # (not used in this service actually)\n    MYSQL_DATABASE_NAME=images      # The name of database where image filepath is stored\n    MYSQL_USERNAME=knightchaser     # The username of database (actually used)\n    MYSQL_PASSWORD=goanonpicdb      # The password of database (actually used)\n    ```\n\n3. Build and run the Docker containers:\n\n    ```bash\n    docker-compose up -d\n    ```\n\n4. Access the application at [http://localhost:8080](http://localhost:8080) in your web browser. And you'll see the web implementation of `goAnonPicDB`!\n\n\n## To-Do\n- [x] Dockerize applications\n- [x] Create `.env` file and manage cross-service environmental variables and constants (Or do the same thing with other methods)\n- [X] Complete GitHub CI/CD Integration with GitHub Action for automatic Docker deployment. DockerHub release will be visible at **[`knightchaser/goanonpicdb`](https://hub.docker.com/r/knightchaser/goanonpicdb)**\n\n## Contributing\n\nContributions are welcome! Please feel free to submit issues or pull requests.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknightchaser%2Fgoanonpicdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknightchaser%2Fgoanonpicdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknightchaser%2Fgoanonpicdb/lists"}