Peer-review is important in journalism. By having our work reviewed by others, we can fix typos and reduce bias in our writing. We loved the open-source code review process in software development, and this project came from a question that occurred to us—What if journalism used public software for peer-reviewing writing?
From a technical standpoint, our project implements version control through a complex model of branches, commits, and merging.
Check out our pitch/demo for Hack The North 2020++ here
.
├── backend
| └── TBD
├── frontend
│ ├── components
│ │ └── [component] # Each component is isolated in its own folder
│ │ └── index.js
│ ├── network # wrappers for making http requests for axios
│ ├── pages
│ │ ├── read # the next.js sets routing equivalent to our folder structure
│ │ ├── write
│ │ ├── _app.js # providers/wrappers for app
│ │ └── index.js # content for root page
│ ├── stores
│ │ ├── [reducer]
│ │ │ └── actions.js
│ │ │ ├── reducer.js
│ │ │ └── selectors.js
│ │ └── index.js # root reducer - import & add reducers here!
│ ├── styles
│ ├── testing
│ └── theme
└── README.md # You are here! :)
freeflo.io follows Gitflow. We practice CI/CD where we continuously deploy off of main and use develop for feature work.
──────────────────────── main ──────────────────────────────────── # Deployments
│ │
└───────────── develop ───────────── # Development work
│ │
└───── [type]/[featureName] ── # 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/freeflo.io/
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 [type]/[name]
where type corresponds to the issue type (feature, chore, etc) and name is the feature's name- 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
Frontend:
cd frontend && npm install
npm run dev
- Happy hacking :)
Open http://localhost:3000 with your browser to see the result.
Backend: WIP
Distributed under the MIT License. See LICENSE
for more information.