{"id":23959704,"url":"https://github.com/camm93/webonlinetechstore","last_synced_at":"2026-04-07T20:31:42.296Z","repository":{"id":51110358,"uuid":"458320745","full_name":"camm93/webOnlineTechStore","owner":"camm93","description":"Tech Store using microservices.","archived":false,"fork":false,"pushed_at":"2022-08-01T21:54:30.000Z","size":27757,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-16T20:26:06.159Z","etag":null,"topics":["django","graphql","heroku","java","microservices","mongodb","postgresql","python","spring-boot","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Vue","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/camm93.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}},"created_at":"2022-02-11T19:48:13.000Z","updated_at":"2022-03-24T20:56:54.000Z","dependencies_parsed_at":"2022-08-29T19:01:46.740Z","dependency_job_id":null,"html_url":"https://github.com/camm93/webOnlineTechStore","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/camm93/webOnlineTechStore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camm93%2FwebOnlineTechStore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camm93%2FwebOnlineTechStore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camm93%2FwebOnlineTechStore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camm93%2FwebOnlineTechStore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/camm93","download_url":"https://codeload.github.com/camm93/webOnlineTechStore/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camm93%2FwebOnlineTechStore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31528303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["django","graphql","heroku","java","microservices","mongodb","postgresql","python","spring-boot","vuejs"],"created_at":"2025-01-06T18:51:34.347Z","updated_at":"2026-04-07T20:31:42.273Z","avatar_url":"https://github.com/camm93.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Online Tech Store\n\nE-commerce built using a microservice architecture and virtualization. In this website, a potential customer can either register or log in, browse the website, look at the different product categories, get a detailed description of any product, and choose his or her favorite items to purchase.\n\nThis project comprises two microservices, one for the user authentication protocols, and the other for the products. These resources are consumed by an API Gateway via Rest API communication. Later, at the client end, there’s the web component or frontend which allows the user to interact with the business logic.\n\n## Overall Project Architecture\n\u003cimg height=\"450\" width=\"600\" src=\"https://github.com/camm93/webOnlineTechStore/blob/main/TechStore-api-gateway/ArquitecturaFinal.jpeg\" alt=\"Microservice architecture\" \u003e\n\n## Authentication Microservice BackEnd\nThis is an example of a User authentication microservice using \u003ca href=\"https://www.django-rest-framework.org/\"\u003eDjando Rest Framework\u003c/a\u003e and \u003ca href=\"https://www.postgresql.org/\"\u003ePostgreSQL\u003c/a\u003e.\nIt is in charge of handling any information and functionalities related to new or existing users. \n\n### Some of the technologies used in this microservice include:\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/python/python.png\" /\u003e \u0026emsp; \u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/django/django.png\" /\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/postgresql/postgresql.png\" /\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"50\" src=\"https://user-images.githubusercontent.com/88005878/178023650-ed7e329f-d2bd-4e2d-86b6-f3006fdb9b32.png\" alt=\"heroku\"\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/docker/docker.png\" /\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://user-images.githubusercontent.com/88005878/177156169-38326ae0-6a09-4e73-9e79-7ece170dcbba.PNG\"\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/git/git.png\" \u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://user-images.githubusercontent.com/88005878/178023091-fdf0a0da-7a42-4132-ac23-0fae203f9631.png\" alt='Jira'\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://user-images.githubusercontent.com/88005878/178024196-5073f032-1166-4410-8487-12a7afd4a573.png\" alt='TablePlus'\u003e \u0026emsp;\n## Microservice: Product BackEnd\n\nThis is an example of a microservice for products using \u003ca href=\"https://www.java.com/es/\"\u003eJava\u003c/a\u003e, \u003ca href=\"https://spring.io/projects/spring-boot\"\u003eSpring Boot\u003c/a\u003e FrameWork and \u003ca href=\"https://www.mongodb.com/es\"\u003eMongoDB\u003c/a\u003e.\nThis microservice controls any operation related to the products sold on the website.\n\n### Some of the technologies used in this microservice include:\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/java/java.png\" /\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/spring-boot/spring-boot.png\"\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://github.com/mongodb/mongo/raw/master/docs/leaf.svg\" \u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://robomongo.org/static/robomongo-128x128-129df2f1.png\" \u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://user-images.githubusercontent.com/88005878/178024960-a59fae13-67fa-4a45-a1c7-3d807a7a3084.png\" alt=\"maven\"\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/docker/docker.png\" /\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/git/git.png\" \u003e \u0026emsp;\n\u003ca href=\"https://www.atlassian.com/es/software/jira\"\u003eJira - Atlassian\u003c/a\u003e \n\n## API Gateway\nAPI Gateway built using \u003ca href=\"https://www.apollographql.com/docs/apollo-server/\"\u003eApollo Server\u003c/a\u003e, \u003ca href=\"https://graphql.org/\"\u003eGraphQL\u003c/a\u003e and JavaScript to manage the data sources from the microservices.\n\n### Some of the technologies used in the API Gateway:\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/e65ef46ef3e7bc457c93622f6a89fe8d3fd131d5/topics/graphql/graphql.png\" \u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png\" /\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/docker/docker.png\" /\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://user-images.githubusercontent.com/88005878/177156169-38326ae0-6a09-4e73-9e79-7ece170dcbba.PNG\"\u003e \u0026emsp;\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/git/git.png\" \u003e \u0026emsp;\n\u003ca href=\"https://www.apollographql.com/docs/apollo-server/\" \u003eApollo Server\u003c/a\u003e\n\n## Web component\nOnce the clients log in, they are redirected to the home page where a list of recommended items are displayed. Also, there’s a “recommended” button to bring a new list of items that are retrieved using an algorithm to select among the best-selling products. Additionally, the search of products can be filtered by categories by clicking on any of these including computers, keyboards, mouses and consoles. Furthermore, one specific product can be selected to open its detailed view.\n\n\u003ca href=\"https://www.youtube.com/watch?v=EZxEW6VZO8U\u0026list=PLUiMsSYMoVSO5IOUzM-dZiSkNLT7gP3MI\u0026index=1\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/camm93/camm93.github.io/blob/main/images/app_shop.png\" width=\"600\" height=\"400\" border=\"20\" /\u003e \u003c/a\u003e\n### Some of the technologies used in this component include:\n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/html/html.png\" \u003e \u0026emsp;\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png\" \u003e \u0026emsp; \n\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/vue/vue.png\" \u003e \u0026emsp;\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png\" \u003e \u0026emsp;\u003cimg height=\"32\" width=\"30\" src=\"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/docker/docker.png\" \u003e \u0026emsp; \u003cimg height=\"32\" width=\"32\" src=\"https://cdn.jsdelivr.net/npm/simple-icons@v6/icons/youtube.svg\" /\u003e\n\n## For Deployment\nBoth microservices, apigateway and frontend were deployed on Heroku via Docker for virtualization.\n\nOverall, these are the tools and technologies used in this project:\n\u003cimg width=\"600\" height=\"400\" src=\"https://github.com/camm93/webOnlineTechStore/blob/main/TechStore-backend_auth/HerramientasUsadas.PNG\" alt=\"Microservice Architecture and technologies\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamm93%2Fwebonlinetechstore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcamm93%2Fwebonlinetechstore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamm93%2Fwebonlinetechstore/lists"}