.
├── backend
| |── httpd
| | └── main.go # Contains the api routes for communication between the front and backend
| |── scripts
| | └── setup.sh # shell script for setting up go
| |── storage # Contains database schema
| | |── discussion-board.sql
| | └── README.md
| |── wss # Contains the go files for web socket communication
| | |── client.go
| | |── hub.go
| | └── main.go
| └── README.md # Contains documentation and structure of backend api
├── frontend
│ ├── content
│ │ └── locale # Contains language files
│ ├── network # helpers for making http requests via axios
│ ├── pages
│ │ ├── api
│ │ ├── home
│ │ ├── _app.tsx # providers/wrappers for app
│ │ └── index.tsx # content for root page
│ ├── stores
│ ├── stories
│ └── styles
└── README.md # You are here! :)
Dialog follows Gitflow. We practice CI/CD where we continuously deploy off of main and use develop for feature work.
──────────────────────── main ──────────────────────────────────── # Deployments
│ │
└───────────── develop ───────────── # Development work
│ │
└───────── DEV-XXX ───────── # Feature branches
For internal team:
- Clone the repo
- See featurework
For open source contributors:
- Fork the repo
git remote add upstream https://github.com/white-van/discussion-board/
git fetch upstream
git rebase upstream/develop
- See featurework
Frontend Acceptance Criteria:
- It should be properly linted/formatted (run
make prettier
) - Adequate automated test coverage
- Basic manual QA & accessibility checks with Axe
Backend Acceptance Criteria: WIP
git checkout -b DEV-000
(where 000 corresponds to the issue number)- Write your code
- Open a PR from that branch to develop (in the main repo)
- Fill out the pull request template accordingly
- To be approved, code must have adequate test coverage + formatted properly
- Check frontend formatting with
npm run lint
andmake prettier
- Commits should be squashed
- Download Docker
cd frontend && npm install
make run
Distributed under the MIT License. See LICENSE
for more information.