{"id":27772318,"url":"https://github.com/fernanda-kipper/grcode-generator","last_synced_at":"2025-04-29T23:58:38.967Z","repository":{"id":290132178,"uuid":"972665510","full_name":"Fernanda-Kipper/grcode-generator","owner":"Fernanda-Kipper","description":"This project is the backend of a QR Code Generator built using Java and AWS services","archived":false,"fork":false,"pushed_at":"2025-04-25T13:23:17.000Z","size":19,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-29T23:58:34.051Z","etag":null,"topics":["aws","docker","java","s3","zxing-qrcode"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Fernanda-Kipper.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,"zenodo":null}},"created_at":"2025-04-25T13:02:31.000Z","updated_at":"2025-04-28T20:28:10.000Z","dependencies_parsed_at":"2025-04-27T04:33:02.857Z","dependency_job_id":"2b9875dd-6107-4e55-82e3-8f362b9bf88c","html_url":"https://github.com/Fernanda-Kipper/grcode-generator","commit_stats":null,"previous_names":["fernanda-kipper/grcode-generator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fgrcode-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fgrcode-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fgrcode-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fgrcode-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fernanda-Kipper","download_url":"https://codeload.github.com/Fernanda-Kipper/grcode-generator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251602817,"owners_count":21615963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["aws","docker","java","s3","zxing-qrcode"],"created_at":"2025-04-29T23:58:38.357Z","updated_at":"2025-04-29T23:58:38.959Z","avatar_url":"https://github.com/Fernanda-Kipper.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QR Code Generator\n\n![Java](https://img.shields.io/badge/Java-21-orange)\n![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.4.4-brightgreen)\n![AWS SDK](https://img.shields.io/badge/AWS%20SDK-2.24.12-yellow)\n![Google ZXing](https://img.shields.io/badge/Google%20ZXing-3.5.2-blue)\n![Docker](https://img.shields.io/badge/Docker-✓-blue)\n![Maven](https://img.shields.io/badge/Maven-3.9.6-red)\n\nA Spring Boot application that generates QR codes and stores them in AWS S3. This project demonstrates the integration of Google's ZXing library for QR code generation and AWS S3 for storage.\n\n## Table of Contents\n\n- [How to Use](#how-to-use)\n  - [Prerequisites](#prerequisites)\n  - [Environment Variables](#environment-variables)\n  - [Running the Application](#running-the-application)\n    - [Local Development](#local-development)\n    - [Docker Deployment](#docker-deployment)\n  - [AWS S3 Configuration](#aws-s3-configuration)\n- [Application Flow](#application-flow)\n- [API Endpoints](#api-endpoints)\n- [License](#license)\n\n## How to Use\n\nThis section provides comprehensive instructions for setting up and running the QR Code Generator application.\n\n### Prerequisites\n\n- Java 21 JDK\n- Maven\n- Docker\n- AWS Account with S3 access\n- AWS CLI configured with appropriate credentials\n\n### Environment Variables\n\nCreate a `.env` file in the project root with the following variables:\n\n```env\nAWS_ACCESS_KEY_ID=your_access_key\nAWS_SECRET_ACCESS_KEY=your_secret_key\nAWS_REGION=your_region\nAWS_BUCKET_NAME=your_bucket_name\n```\n\n### Running the Application\n\n#### Local Development\n\n1. Create the `.env` file as described above\n2. Build the project:\n   ```bash\n   mvn clean package\n   ```\n3. Run the application:\n   ```bash\n   mvn spring-boot:run\n   ```\n\n#### Docker Deployment\n\n1. Build the Docker image:\n   ```bash\n   docker build -t qrcode-generator:X.X . \n   ```\n\u003e Remember to replace the version and image name if you want\n\n2. Run the container:\n   ```bash\n   docker run --env-file .env -p 8080:8080 qrcode-generator:X.X \n   ```\n\n\u003e Remember to replace the .env file path to the path of your environment file that you created.\n\n### AWS S3 Configuration\n\n1. Create an S3 bucket in your AWS account\n2. Update the `AWS_BUCKET_NAME` in your `.env` file or Docker run command\n3. Ensure your AWS credentials have appropriate permissions to access the S3 bucket\n\n## Application Flow\n\n\u003e **Note**: This diagram was built on [Mermaid Online Editor](https://www.mermaidchart.com/app/projects/d95a6b85-4fcc-442f-827b-da6d7a456612/diagrams/f54eab59-6c0f-42d4-86ab-1afa9cee30ce/version/v0.1/edit).\n\n\u003cimg src=\"./.github/diagram.svg\"/\u003e\n\n## API Endpoints\n\n### POST /qrcode\nGenerate a QR code from the provided text and store it in AWS S3. The QR code will be generated as a PNG image with dimensions of 200x200 pixels.\n\n**Parameters**\n\n| Name | Required | Type | Description |\n|------|----------|------|-------------|\n| `text` | required | string | The text content to be encoded in the QR code. This can be any string value that you want to convert into a QR code. |\n\n**Response**\n\n```json\n{\n    \"url\": \"https://your-bucket.s3.your-region.amazonaws.com/random-uuid\"\n}\n```\n\n**Error Response**\n\nIf an error occurs during QR code generation or S3 upload, the API will return a 500 Internal Server Error.\n\n**Example Usage**\n\n```bash\ncurl -X POST http://localhost:8080/qrcode \\\n     -H \"Content-Type: application/json\" \\\n     -d '{\"text\": \"https://example.com\"}'\n```\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernanda-kipper%2Fgrcode-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernanda-kipper%2Fgrcode-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernanda-kipper%2Fgrcode-generator/lists"}