Sports Competition Management Software with a modern and fast architecture. Java based backend with a RESTful JSON API and a HTML 5 client with a modern UI.
Copyright (C) 2015, 2016 Marcus Fihlon
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
The SportChef docker image is available on DockerHub. To run SportChef, you have to specify a port mapping to map the ports of the application server inside the container (8080) to a port on your machine (e.g. 80) and you have to specify a folder on your machine to store the permanent data. The complete docker call looks like this:
docker run -p [local port]:8080 -v [local data path]:/root/.sportchef -it mcpringle/sportchef
docker run -p 80:8080 -v /home/mcpringle/.sportchef:/root/.sportchef -it mcpringle/sportchef
- Bugfix for infrequent
NullPointerExceptionafter creating a new event
- Default images are assigned to events without an image
- The imprint now opens in a dialog instead of a separate page
- Started with integration builds
- Added a lot of automated tests
- Measure the test coverage
- Static code analysis to increase code quality
- Fixed a lot of small bugs
- Increased code quality
- List all events on one page
- Use persistence framework (no database)
- Add imprint page
- New administration page
- Custom configuration file
- Resize event images on upload
- Calculate background color of events based on the event image
The saver is base on Java EE technology and provides high-performance, RESTful web services. Everything is tied together using a Maven build.
We'll use GitHub Pages for hosting our upcoming project website. We only need static content, so we decided to go with Hugo, a fast and modern static website engine. Our content will be written in Markdown syntax.
We use a Maven build to tie everything together. As a result this project is IDE independent (every state-of-the-art IDE should be able to import and/or use a Maven project). VersionEye is used to track out of date dependencies. To track our reaction time on issues and pull requests we use Issue Stats.
How to contribute to SportChef
A huge thank you to all the contributors! All contributors are listed below (sorted alphabetically by GitHub username):
If you are a contributor and you are missing on this list, please add your entry yourself and create a pull request or create an issue.
|Version||Planned Release Date||Status|
|v1.0||End of January 2016||released|
|v1.1||End of February 2016||released|
|v1.2||End of May 2016||work in progress|
Overview of issues
We use Waffle.io for a really useful overview of our issues. Our issues can have one of five states. The states are:
|Backlog||All open issues not ready to be worked on.|
|Ready||All open issues ready to be worked on.|
|In Progress||All issues, somebody is working on.|
|In Review||Implementation is finished but should be reviewed or is waiting as a pull request.|
|Done||Issues closed in the last week.|
If you would like to contribute to SportChef, please choose an issue from the Ready column and add a comment, so that we know what issue you choosed and we're able to update the status of the issue.
If you prefer an issue which is not yet ready and listed in the Backlog, please add a comment before starting to work on it, so we can discuss the issue beforehand and take it to the Ready state.
If there is an issue already In Progress and you would like to help, please add a comment to the issue to get in contact with the assigned developer.
Source code management
GIT Workflow Rules
Important: If you start to work on a new feature, please start on the develop branch!
Keep your fork in sync
If you fork this repository, GitHub will not keep your fork in sync with this repository. You have to do it on your own.
- If not already done, add this repository as an upstream to your repository:
git remote add upstream https://github.com/McPringle/sportchef.git
- Verify that this repository was added successfully:
git remote -v
- Fetch branches and commits from this repository to your local repository:
git fetch upstream
- If you are not on your local develop branch, check it out:
git checkout develop
- Merge the changes from this repositories develop branch into your repository):
git merge upstream/develop
- Push your updated repository to your GitHub fork:
git push origin develop
If you want to merge changes from a different branch (e.g.
release, etc), simply replace the branch name
develop in the above command line examples with the branch name, you want to merge.
Frequently Asked Questions
- When I try to push, I get a
non-fast-forward updates were rejectederror.
Your local copy of a repository is out of sync with, or behind the upstream repository, you are pushing to. You must retrieve the upstream changes, before you are able to push your local changes.