{"id":19891168,"url":"https://github.com/barbarpotato/admin","last_synced_at":"2025-12-31T01:07:31.691Z","repository":{"id":261943899,"uuid":"885699603","full_name":"Barbarpotato/Admin","owner":"Barbarpotato","description":"Web App for Managing Content in My Website Portofolio. Used for Personal Content Management System","archived":false,"fork":false,"pushed_at":"2025-02-22T15:03:45.000Z","size":1207,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T16:19:22.218Z","etag":null,"topics":["cms","github-actions","react","serverless","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Barbarpotato.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":"2024-11-09T06:39:26.000Z","updated_at":"2025-02-22T15:03:11.000Z","dependencies_parsed_at":"2024-11-09T13:25:55.470Z","dependency_job_id":"e6823f13-389c-4570-87bb-a0126911a25c","html_url":"https://github.com/Barbarpotato/Admin","commit_stats":null,"previous_names":["barbarpotato/portofolio-cms-host","barbarpotato/cms-host"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barbarpotato%2FAdmin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barbarpotato%2FAdmin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barbarpotato%2FAdmin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barbarpotato%2FAdmin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Barbarpotato","download_url":"https://codeload.github.com/Barbarpotato/Admin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241317693,"owners_count":19943203,"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":["cms","github-actions","react","serverless","webpack"],"created_at":"2024-11-12T18:17:19.289Z","updated_at":"2025-12-31T01:07:31.658Z","avatar_url":"https://github.com/Barbarpotato.png","language":"JavaScript","readme":"# CMS HOST\nThe Admin is an admin panel built using a microservices architecture. The project currently being viewed serves as the host site for a secret remote site. This admin panel is used to manage my personal website.\n\nI adopted this architecture to enhance maintainability by breaking components into a host-remote pattern. This approach makes it easier to secure each component by segregating authority levels through the registry site.\nThe reason i need to implement SALC (Segregating Authority Levels Component) its because i want to use the github page as my platofrm to access my admin site 😂 (free \u0026 simple), but dont want my codebase fully expose. That's it, what a stupid reason😁. I'll explained a little bit about my SALC strategy.\n\n# Authority Levels Component\n\n## Third-Party Authentication\n\n### Overview\n\nThird-Party Authentication is used for components that require higher security due to their ability to **delete**, **create**, or **modify** data. This authentication mechanism ensures that only authorized users can access and perform actions on these sensitive components.\n\n### How It Works\n\n- To access these components, a **token** is required as a prop.\n- The token is obtained by interacting with a third-party API.\n- The third-party API performs authentication using a **username** and **password**. Once the user is authenticated, the API generates and provides a valid token.\n- The token has an **expiration time** and will no longer be valid after the expiration period.\n\n# The Host Component\n\nIn the host section. There is only client routing management which is used to manage remote components and also some imported remote component from my registry site.\nAs you can see that my component cannot be fully exposed due to my others component that i called is coming from other domain. It shows that every remote component need to have the token value\nin order to render the appropriate content. if the token is not valid. it will show the access denied text.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarbarpotato%2Fadmin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarbarpotato%2Fadmin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarbarpotato%2Fadmin/lists"}