{"id":16998539,"url":"https://github.com/felipewind/shopping-list","last_synced_at":"2026-04-13T19:31:29.476Z","repository":{"id":159933609,"uuid":"413627214","full_name":"felipewind/shopping-list","owner":"felipewind","description":"Shopping List. An application that will make you doing your shopping more fast.","archived":false,"fork":false,"pushed_at":"2021-10-15T22:50:53.000Z","size":3688,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T07:27:18.408Z","etag":null,"topics":["angular","docker","docker-compose","heroku","java","nginx","postgres","quarkus"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/felipewind.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-10-05T00:44:22.000Z","updated_at":"2021-10-15T22:50:55.000Z","dependencies_parsed_at":"2024-02-13T16:32:10.824Z","dependency_job_id":null,"html_url":"https://github.com/felipewind/shopping-list","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"e02b5d2154ea5527e7cb1ae7ed2b358443e25b93"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/felipewind/shopping-list","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipewind%2Fshopping-list","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipewind%2Fshopping-list/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipewind%2Fshopping-list/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipewind%2Fshopping-list/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/felipewind","download_url":"https://codeload.github.com/felipewind/shopping-list/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipewind%2Fshopping-list/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31768635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: 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":["angular","docker","docker-compose","heroku","java","nginx","postgres","quarkus"],"created_at":"2024-10-14T04:05:32.529Z","updated_at":"2026-04-13T19:31:29.449Z","avatar_url":"https://github.com/felipewind.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# shopping-list\n\n[Acces this demo version on Heroku and try it right now!](https://best-shopping-list.herokuapp.com/#/)\n- The application get dormant after some time without use, so the first access can take some extra time.\n\n![image](./docs/shopping-list.gif)\n\nShopping List is a web application that was created especially for mobile devices.\n\nYou'll be able to organize the products you want to buy and do your shopping more quickly.\n\nOnce you create one account, you can create shopping lists and add products to them.\n\nWhen you're buying products at the market, you can check the products updating your list and switch from one shopping list to other very easily.\n\nYou can, for instance, create one shopping list for fruits, other for cleaning products and another for grocery. So, in the top menu, you will be able to switch between these shoping lists while you're checking the products you already bought.\n\n\n# Architecture\n\n![image](./docs/images/architecture.png)\n\n\n# Demo version running on Heroku\n\n[Application](https://best-shopping-list.herokuapp.com/#/)\n\n[API swagger](https://shopping-list-back-end.herokuapp.com/q/swagger-ui/)\n\n# Running locally\n\nThe test versions have this username and password:\n- username `felipe`;\n- password `123`;\n\n## From Docker Hub Images\n\nBring up this [docker-compose](./docker-compose-docker-hub.yml)\n\n\n\n## Build Docker images locally and run\n\nCompile Angular and Quarkus project and then bring up this [docker-compose](./docker-compose.yml)\n\nOr just run this script:\n```bash\n$ ./run-with-local-build.sh\n```\n\n## Running in development mode\n\nOn development mode, Quarkus will run with H2 database.\n\n### Quarkus\n\nEnter the `quarkus` folder and run:\n```bash\n$ mvn quarkus:dev\n```\n\n[Swagger-ui - development mode](http://localhost:8080/q/swagger-ui/)\n\n### Angular\n\nEnter the `angular` folder and run:\n```\n$ npm install\n$ ng serve\n```\n\n[Development mode](http://localhost:4200/#/)\n\n\n# PostgreSQL\n\nIf you want to start locally the PostgreSQL, you can run this Docker image with the tables already created:\n```bash\n$ docker run -d --name postgres-shop --rm -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=postgres felipewind/shopping-postgres:13.3\n```\n\n Or enter the postgresql folder and build it with:\n ```bash\n $ docker build -t felipewind/shopping-postgres:13.3 .\n ```\n\n# Authentication on Swagger\n\n![image](./docs/images/swagger.png)\n\nTo access the protected endpoints, you must:\n1. First execute the POST /users/login;\n2. Copy the jwt token:\n   - ![image](./docs/images/swagger-jwt-login.png)\n3. Click on the `Authorize` button on the top right;\n4. Paste the jwt token:\n   - ![image](./docs/images/swagger-jwt-authorize.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipewind%2Fshopping-list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelipewind%2Fshopping-list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipewind%2Fshopping-list/lists"}