https://github.com/oswee/public-web
Public frontend web application
https://github.com/oswee/public-web
go golang redux redux-saga reselect storybook typescript webcomponents webpack
Last synced: 3 months ago
JSON representation
Public frontend web application
- Host: GitHub
- URL: https://github.com/oswee/public-web
- Owner: oswee
- Created: 2019-09-01T18:43:30.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T09:47:43.000Z (over 3 years ago)
- Last Synced: 2024-05-27T12:24:41.783Z (about 2 years ago)
- Topics: go, golang, redux, redux-saga, reselect, storybook, typescript, webcomponents, webpack
- Language: TypeScript
- Size: 9.08 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Oswee
This is Front-end App for a **personal** distributed microservices **pet-project**.
This repository is part of several repositories of working solution.
You can run this app stand alone, but there will no be an API gateway and other required services.
Those services and API documentation is placed in separate repositories.
## Motivation
Main motivation is to develop highly scalable real-time collabotrative web application in enterprise resource planning domain.
Under "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.
## Current state
Most recent version could be found in Develop branch.
I am trying to capture progress log in [Wiki](https://github.com/oswee/public-web/wiki/Log)
## This project contains a stack of
### Back-end
- Go
- gRPC
- Protocol Buffers
- Kafka
- Event-Sourcing/CQRS
- MariaDB
- Redis
### Front-end
- TypeScript
- Web Components
- LitElement
- Lit-html
- Redux
- Redux Sagas
- Reselect
- SCSS/SMACSS
- PWA
- WebPack
### Infrastructure
Currently mix of development Docker, Traefik and Go binaries.
I already set up home-lab OpenShift 4 HA cluster and SLOWLY learning how to set up full development pipeline based on self hosted envirionment.
### Project structure
Back-End project structure is inspired by Golang's unofficial [Golang Standard Project Layout](https://github.com/golang-standards/project-layout).
Front-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.
## Development setup
```sh
go get -u github.com/micro/protobuf/{proto,protoc-gen-go}
```
## Kafka
To run Kafka cluster for development I am using Landoop container
[landoop/fast-data-dev](https://hub.docker.com/r/landoop/fast-data-dev)
```sh
docker 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
```
## Sign In page
