👍🎉 First off, thanks for taking the time to contribute! 🎉👍
The following is a set of guidelines for contributing to QA-Board. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
This project and everyone participating in it is governed by the QA-Board Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
If you've got questions about anything (setup, contributing...) or just want to chat with the developers, please feel free to start a thread in our Spectrum community! You can also contact us by mail.
Each section has its own README:
- qaboard: python package (
qaboard
) for theqa
CLI wrapper than runs your code - backend exposes an HTTP API to manage runs. Built with python's
flask
andpostgreSQL
as database. - webapp is the web frontend that displays results, based on
reactjs
. - services: the web application composes a reverse proxy (
nginx
), an image server (cantaloupe
), etc. This folder stores all the relevantDockerfile
s and settings - website is the QA-Board website and docs
If you want to contribute to the project but do not know where to start, or what to work on, don't hesitate to chat with the maintainers. QA-Board has many parts and much can be improved. We'll do our best to find something that matches your experience and has a meaningful impact on the project. Before you work on a big feature, don't hesitate to open an issue and discuss it.
To start a dev server:
# check requirements in webapp/README.md
cd webapp
npm install
# see more into in docker-compose.yml and backend/README.md
docker-compose -f docker-compose.yml -f development.yml up -d
Currently, we use internally at Samsung a private fork of QA-Board. The differences are very small, mainly having to do with hardcoded configuration and CI. Our goal to move to a process where we first contribute to the public repository, then merge back the changes.
We want to develop QA-Board in the open, and started asking our users to submit issues on GitHub.com. We plan on using the public issue tracker to discuss the roadmap.