{"id":19696520,"url":"https://github.com/devblin/shopit","last_synced_at":"2025-10-07T09:10:59.091Z","repository":{"id":110615725,"uuid":"457454558","full_name":"devblin/shopit","owner":"devblin","description":"An inventory management system written in Go, utilising AWS services such as S3, DynamoDB.","archived":false,"fork":false,"pushed_at":"2023-09-22T06:23:27.000Z","size":2122,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T15:11:21.408Z","etag":null,"topics":["aws-alb","aws-dynamodb","aws-ecr","aws-ecs","aws-s3","crud","golang","inventory-managment","localstack","reactjs","terraform"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/devblin.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":"2022-02-09T17:11:44.000Z","updated_at":"2023-12-12T13:33:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"233108a3-497a-4915-943b-3fe3b348b358","html_url":"https://github.com/devblin/shopit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devblin%2Fshopit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devblin%2Fshopit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devblin%2Fshopit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devblin%2Fshopit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devblin","download_url":"https://codeload.github.com/devblin/shopit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251494017,"owners_count":21598217,"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-alb","aws-dynamodb","aws-ecr","aws-ecs","aws-s3","crud","golang","inventory-managment","localstack","reactjs","terraform"],"created_at":"2024-11-11T19:35:27.334Z","updated_at":"2025-10-07T09:10:54.068Z","avatar_url":"https://github.com/devblin.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Shopit\n\nA inventory management system written in **Golang**, **DynamoDB** for database, **S3** for file storage and **ReactJS** for UI.\n\n[![Deploy](https://github.com/devblin/shopit/actions/workflows/deploy.yml/badge.svg?branch=production)](https://github.com/devblin/shopit/actions/workflows/deploy.yml)\n\n## Features:\n\n-   Basic CRUD funtionalities:\n    -   Create inventory items\n    -   Edit Them\n    -   Delete Them\n    -   View a list of them\n-   Allow image uploads and storing image with generated thumbnails.\n\n## Usage:\n\n### Local Development:\n\nTo test the application locally, follow below steps:\n- Install [localstack](https://docs.localstack.cloud/getting-started/installation/), [awslocal](https://github.com/localstack/awscli-local) and [tflocal](https://docs.localstack.cloud/user-guide/integrations/terraform/).\n- Start localstack `localstack start -d`\n- Execute below commands to setup basic infra for local terraform:\n    - S3 bucket to handle terraform state: \n      ```\n      awslocal s3api create-bucket --bucket terra-form --region ap-south-1  --create-bucket-configuration LocationConstraint=ap-south-1\n      ```\n    - DynamoDB table to handle state locking:\n      ```\n      awslocal dynamodb create-table --table-name terra-form --region ap-south-1 --key-schema AttributeName=LockID,KeyType=HASH --attribute-definitions AttributeName=LockID,AttributeType=S --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1\n      ```\n\n- Provision aws in localstack using tflocal:\n    - Create `dev.tfvars` with below contents in root of dir:\n      ```sh\n      AWS_ACCESS_KEY_ID     = \"test\"\n      AWS_SECRET_ACCESS_KEY = \"test\"\n      ENV                   = \"dev\"\n      ```\n    - Run `tflocal init -var-file=dev.tfvars`\n    - Run `tflocal apply -var-file=dev.tfvars`\n    - Use the `shopit_lb_dns` output's value to open the application.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevblin%2Fshopit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevblin%2Fshopit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevblin%2Fshopit/lists"}