{"id":48405055,"url":"https://github.com/oswee/public-web","last_synced_at":"2026-04-06T02:36:41.792Z","repository":{"id":39388474,"uuid":"205718006","full_name":"oswee/public-web","owner":"oswee","description":"Public frontend web application","archived":false,"fork":false,"pushed_at":"2023-01-04T09:47:43.000Z","size":9521,"stargazers_count":0,"open_issues_count":27,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-27T12:24:41.783Z","etag":null,"topics":["go","golang","redux","redux-saga","reselect","storybook","typescript","webcomponents","webpack"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/oswee.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":"2019-09-01T18:43:30.000Z","updated_at":"2024-05-27T12:24:41.784Z","dependencies_parsed_at":"2023-02-02T07:31:04.885Z","dependency_job_id":null,"html_url":"https://github.com/oswee/public-web","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oswee/public-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oswee%2Fpublic-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oswee%2Fpublic-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oswee%2Fpublic-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oswee%2Fpublic-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oswee","download_url":"https://codeload.github.com/oswee/public-web/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oswee%2Fpublic-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31457723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"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":["go","golang","redux","redux-saga","reselect","storybook","typescript","webcomponents","webpack"],"created_at":"2026-04-06T02:36:41.223Z","updated_at":"2026-04-06T02:36:41.787Z","avatar_url":"https://github.com/oswee.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oswee\n\nThis is Front-end App for a **personal** distributed microservices **pet-project**.\n\nThis repository is part of several repositories of working solution.\nYou can run this app stand alone, but there will no be an API gateway and other required services.\nThose services and API documentation is placed in separate repositories.\n\n## Motivation\n\nMain motivation is to develop highly scalable real-time collabotrative web application in enterprise resource planning domain.\nUnder \"scalable\" I mean application itself and development workflow as well. You can't scale and move fast, if your organizational structure and workflow is wrong.\n\n## Current state\n\nMost recent version could be found in Develop branch.\n\nI am trying to capture progress log in [Wiki](https://github.com/oswee/public-web/wiki/Log)\n\n## This project contains a stack of\n\n### Back-end\n\n- Go\n- gRPC\n- Protocol Buffers\n- Kafka\n- Event-Sourcing/CQRS\n- MariaDB\n- Redis\n\n### Front-end\n\n- TypeScript\n- Web Components\n- LitElement\n- Lit-html\n- Redux\n- Redux Sagas\n- Reselect\n- SCSS/SMACSS\n- PWA\n- WebPack\n\n### Infrastructure\n\nCurrently mix of development Docker, Traefik and Go binaries.\nI already set up home-lab OpenShift 4 HA cluster and SLOWLY learning how to set up full development pipeline based on self hosted envirionment.\n\n### Project structure\n\nBack-End project structure is inspired by Golang's unofficial [Golang Standard Project Layout](https://github.com/golang-standards/project-layout).\nFront-End project structure is inspired by [CRUV](https://frontarm.com/james-k-nelson/react-cruv/) and [Redux Ducks](https://github.com/erikras/ducks-modular-redux) project layouts.\n\n## Development setup\n\n```sh\ngo get -u github.com/micro/protobuf/{proto,protoc-gen-go}\n```\n\n## Kafka\n\nTo run Kafka cluster for development I am using Landoop container\n[landoop/fast-data-dev](https://hub.docker.com/r/landoop/fast-data-dev)\n\n```sh\ndocker run --rm -p 2181:2181 -p 3030:3030 -p 8081-8083:8081-8083 -p 9581-9585:9581-9585 -p 9092:9092 -e ADV_HOST=192.168.67.2 landoop/fast-data-dev:latest\n```\n\n## Sign In page\n\n![oswee.com Sign In page screenshot](https://raw.githubusercontent.com/oswee/public-web/master/assets/sign-in-fullscreen.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foswee%2Fpublic-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foswee%2Fpublic-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foswee%2Fpublic-web/lists"}