Skip to content

freeflo.io is an open source version control platform for journalism - hobbyists and professionals alike!

Notifications You must be signed in to change notification settings

white-van/freeflo.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ freeflo.io

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

Contributors Forks Stargazers Issues

📁 Project Structure

.
├── 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! :)

💡 Contributing

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:

  1. Clone the repo
  2. See featurework

For open source contributors:

  1. Fork the repo
  2. git remote add upstream https://github.com/white-van/freeflo.io/
  3. git fetch upstream
  4. git rebase upstream/develop
  5. See featurework

Frontend Acceptance Criteria:

  1. It should be properly linted/formatted (run make prettier)
  2. Adequate automated test coverage
  3. Basic manual QA & accessibility checks with Axe

Backend Acceptance Criteria: WIP

⛏️ Featurework:

  1. git checkout -b [type]/[name] where type corresponds to the issue type (feature, chore, etc) and name is the feature's name
  2. Write your code
  3. Open a PR from that branch to develop (in the main repo)
  4. Fill out the pull request template accordingly
  5. To be approved, code must have adequate test coverage + formatted properly
  6. Check frontend formatting with npm run lint and make prettier
  7. Commits should be squashed

🚀 Local Development

Frontend:

  1. cd frontend && npm install
  2. npm run dev
  3. Happy hacking :)

Open http://localhost:3000 with your browser to see the result.

Backend: WIP

✍️ Contributors

🏁 License

Distributed under the MIT License. See LICENSE for more information.

About

freeflo.io is an open source version control platform for journalism - hobbyists and professionals alike!

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages