{"id":20769371,"url":"https://github.com/bayars/supermarket","last_synced_at":"2026-04-20T13:32:35.826Z","repository":{"id":129318079,"uuid":"250371087","full_name":"bayars/Supermarket","owner":"bayars","description":"Supermarket managment application for improve myself on C++ programming. ","archived":false,"fork":false,"pushed_at":"2020-05-11T02:47:00.000Z","size":14029,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T19:45:08.495Z","etag":null,"topics":["c","cpp","libpqxx","libpqxx-library","postgresql","supermarket"],"latest_commit_sha":null,"homepage":"","language":"C++","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/bayars.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":"2020-03-26T21:02:39.000Z","updated_at":"2020-05-11T02:47:03.000Z","dependencies_parsed_at":"2023-04-20T15:19:27.060Z","dependency_job_id":null,"html_url":"https://github.com/bayars/Supermarket","commit_stats":null,"previous_names":["bayars/supermarket"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bayars/Supermarket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bayars%2FSupermarket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bayars%2FSupermarket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bayars%2FSupermarket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bayars%2FSupermarket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bayars","download_url":"https://codeload.github.com/bayars/Supermarket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bayars%2FSupermarket/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268657542,"owners_count":24285522,"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","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["c","cpp","libpqxx","libpqxx-library","postgresql","supermarket"],"created_at":"2024-11-17T11:43:35.693Z","updated_at":"2026-04-20T13:32:30.802Z","avatar_url":"https://github.com/bayars.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"![CI](https://github.com/rection/Supermarket/workflows/CI/badge.svg?branch=master)\n[![pipeline status](https://gitlab.com/rection/super-market/badges/master/pipeline.svg)](https://gitlab.com/rection/super-market/-/commits/master)\n\n\nI am doing practise for improve myself on C++. This project purpose, the supermarket take register of the products. The products are seperate with the section. These sections are Games, Books, Toys and Groceries. \n\nThe program using on management office so they can give input the system. The records holds in PostgreSQL. I used libpqxx library for PostgreSQL connection. \n\n\n## Installation:\n\nThe first necessary PostgreSQL-11 and libpqxx library for PostgreSQL connection. You can follow these instructions for install postgreSQL. You need to be apply this code for install the libpqxx library in Debian and Redhatsystems:\n\n```\nsudo apt install libpqxx-7.0 libpqxx-dev   ## For Debian\nsudo dnf install libpqxx-7.0 libpqxx-dev   ## For Fedora or Centos 8\nsudo yum install libpqxx-7.0 libpqxx-dev   ## For Centos 7 or before\n```\n\nIf your package manager couldn't find this packages, You can install with cmake with [source code](https://github.com/jtv/libpqxx).\n\nThis packages in this repository *http://deb.debian.org/debian buster/main amd64.*\n\nThe Postgresql setup is like this:\n\n```\ncreate user employee with password test;\ngrant NOLOGIN, NOCREATEROLE, NOSUPERUSER on database \"supermarket\" to employee;\ncreate database Supermarket owner employee;\n```\n\n\nYou can compile right now. I used c++2a standarts. The g++/gcc should be up version of 8:\n\n```\ng++ main.cpp -std=c++2a -lpqxx -lpq -lpthread -pthread \n```\n\nAlso, you can build with cmake\n\n```\nmkdir build\ncd build\ncmake ..\nmake\n./supermarket\n```\n\nIf you couldn't understand how it's work. You may look CI/CD scripts. These are **.gitlab-ci.yml** and **.github/main.yml**.\n\n## Tests\n\nI wrote some test. You can add more tests for your necessities. You have to run with this parameters;\n\n```\ncd Test/\ng++ -std=c++2a -Wall -g -pthread testmain.cpp -lgtest_main  -lgtest -lpthread -lpqxx -lpq\n```\n\n## Table Structure in PostgreSQL\n\n```\n\t          \n\t       /-------\u003e Groceries      /------------\\\n\t      /                        /  ProductName \\\n\t     /-------\u003e Games ----------   BrandName\nMarket -----/                          \\  ProductYear /\n            \\                           \\------------/\n\t     \\-------\u003e Books\n\t      \\\n               \\--------\u003e Toys\n\n```\n\n**This program for practices of Object Oriented Programming. I use Document Driven Development (DDD). This program has Inheritance, Polymorphism, Encapsulation, Access Specifiers, Class Methods, Function overloading and Exceptions examples.**\n\n\n**If you want to use real life program, you can use cmake. That will be work faster than. You can find the cmake page in this [link](https://cmake.org/). Also, you need to fix bugs in SonarQube.**\n\n# The Issues:\n\n1. [+] All sql queries must be change for **Supermarket** database.\n2. [+] The bill report should have strings. The function just return integer.\n3. [+] Prices returned to Money data type.\n4. [+] Tables and database need to check and create automaticly in program.\n5. [+] Libpqxx install with new version. Also update the codes for new version. [pqxx-7.0.0]\n6. [+] The bill report doesn't work.\n7. [+] The other sections need to add in program.\n8. [+] Regualtion items need to has remove and edit choices.\n9. [+] The bill total calculation doesn't work as I want.\n10. [+] The regulations section need to has remove section.\n11. [+] Coverage test and stub test neccesary for Github Actions. [I don't know about Github Actions, I am working on.]\n12. [+] Write tests and use github actions.\n13. [+] The licence missing.\n14. [+] Gitlab-CI/CD and github action were set.\n15. [+] Gtest installed and wroten some test.\n16. [+] Project need more test on Show, PostgreSQL and sections.\n17. [+] Details choice problem solved. That's show last record.\n18. [+] Details need to add search option like ID search and Name search. That can do with overloading.\n19. [+] Remove item sql problems and inheritance problems solved.\n20. [+] Bill Report class problems solved. Added sum functions. And added new validations.\n21. [+] All input have to validate.\n22. [+] Add descriptions in all files. \n23. [?] QT options might be add in project. But I didn't decide right now. That might add on different branch. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbayars%2Fsupermarket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbayars%2Fsupermarket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbayars%2Fsupermarket/lists"}