Skip to content

Commit

Permalink
Merge branch 'develop' of github.com:katharsis-project/katharsis-fram…
Browse files Browse the repository at this point in the history
…ework into develop

# Conflicts:
#	CONTRIBUTING.md
#	README.md
#	katharsis-parent/pom.xml
#	pom.xml
  • Loading branch information
Ioan Eugen Stan committed Aug 18, 2016
2 parents 45556e7 + d21aed3 commit 1f70423
Show file tree
Hide file tree
Showing 82 changed files with 2,290 additions and 2,997 deletions.
4 changes: 1 addition & 3 deletions .travis.yml
Expand Up @@ -6,9 +6,7 @@ addons:
apt:
packages:
- oracle-java7-installer
after_success:
- mvn jacoco:report coveralls:report
- mvn deploy -DskipTests=true --settings settings.xml
script: ./build.sh
notifications:
webhooks:
urls:
Expand Down
43 changes: 34 additions & 9 deletions CONTRIBUTING.md
@@ -1,17 +1,42 @@
=======
[ This document is still a draft ]

Reporting an issue
==================
1.
Contributing to the katharsis project, and to any open-source project for that matter, can be a rewarding experience both in terms of the way you can help yourself and projects you are working on, as well as the countless number of others you may help with your contribution.

Reporting Bugs & Requesting for Features
=========================

Submission of pull requests
Before you raise a new issue you must be able to narrow it down to a minimal test case against a clean code base that can be used for reproduction when submitting the issue. And, naturally, to make sure it's not an "undiscovered fearture" on your side :). Once you have a reproducable case in a clean code base please check the list of [project issues](https://github.com/katharsis-project/katharsis-framework/issues). There may already be a discussion in progress that you can contribute to or at least follow for a resolution. You should also ask in [gitter](https://gitter.im/katharsis-project) first. However, if you have discovered an issue then please follow these rules:

1. Include **version of katharsis** you are using
2. Use labels to tell us in which **module** problem occures
3. Wait for **feedback** from our developers in response to your issue. We are volunteers so please be patient.
4. Make a coffee and feel proud of yourself (or tea, or whatever the hot relaxing beverage in your part of the world is)!

Fixing Bugs & Extending the Library
===========================
1. Fork repository
2. Implement your new feature/fix in branch `development`
3. Update unit tests to ensure the test are passing and code coverage is at acceptable level
4. Submit a pull request to be merged in the `development` of original repo including in description modification you made and reason for change

So you have added a feature to a library or you have created something new. Maybe you just have some bit of code that you use all the time in your projects and now you want to give that to the community and let them enjoy the same benefits you have? Great! This is how open source projects begin, grow, thrive and reach new users. Here is how to proceed with a pull request:

1. [Fork katharsis-framework](https://github.com/katharsis-project/katharsis-framework/edit/develop/CONTRIBUTING.md#fork-destination-box) repository
2. Implement your new feature or fix on branch `development`
3. Don't forget to **update or add unit tests** and ensure they are passing
4. Submit a pull request to be merged in the `development` of original repo. In your PR please refer to the issue number. Remember, enchancements are "issues" too.
5. Your code will be reviewed by at least **two people** from our developers community
6. Wait for **feedback** and in next release you may see your code working on production

Join the Conversation
=====================

Katharsis gives you a number of ways to discuss features, express concerns or just chat about the project with other people just like you. Feel free to chat with us on [gitter](https://gitter.im/katharsis-project/katharsis-framework) or if your question is strictly involving usage of katharsis create new question on [StackOverflow](http://stackoverflow.com/questions/tagged/katharsis)

Other Ways to Contibute
======================

You don't necessarily have to write code to contribute. Telling someone in an effective way what a project is for and how to use it is just as important as providing the code for them to use. And it doesn't end there. From helping to maintain infrastructure to event planning, projects need help in many areas beyond the code.

Open source projects are small communities of like-minded individuals coming together over a common interest or skill set. As with any community, there are appropriate ways to conduct yourself when interacting with other members of that group. Treating others with respect is not just courteous, but it helps encourage new people that may have important contributions to feel comfortable enough to put themselves out there and take that first step toward getting involved.

Whether you're answering questions in a forum, chatting with someone at a conference or commenting on a section of someone's code, keep in mind that your words and your actions have real consequences. Treat others how you would like to be treated and keep in mind that we were all beginners at some point. When you encounter a community member that doesn't follow or understand the mores, just remember that someone once helped you and pass on the kindness.

### *Pull requests are welcome!*

Expand Down
41 changes: 41 additions & 0 deletions README.md
@@ -0,0 +1,41 @@

![Katharsis logo](http://katharsis.io/assets/img/engine_katharsis_github_4.png)

Katharsis library adds an additional layer on top of RESTful endpoint to provide easy HATEOAS support for Java by implementing JSON API standard.

# katharsis-framework

[![Build Status](https://travis-ci.org/katharsis-project/katharsis-framework.svg?branch=develop)](https://travis-ci.org/katharsis-project/katharsis-framework)
[![Coverage Status](https://coveralls.io/repos/github/katharsis-project/katharsis-framework/badge.svg)](https://coveralls.io/github/katharsis-project/katharsis-framework)

Systems nowadays utilize data from various systems to leverage the business needs. To achieve that, many of them provide usually inconsistent REST interface.

__Providing homogeneous REST interface__

Katharsis implements JSON API standard which introduces consistent REST interface definition. Now it can be easy to integrate with other systems through uniform mechanisms.

__Use the purest form of REST__

JSON API is based on HATEOAS which means Hypermedia as the Engine of Application State. It is the highest form of REST which allows producing and storing as little documentation as possible.

---

By using Katharsis it is easier to develop both Customer Facing Applications and server side services. The developers can have one unified base for their work.

__Consistent resources and repositories__

Katharsis introduces a way of defining both resources which can be shared over the REST interface and a repository for their handling.

__Integration with other libraries__

Because of the usage of JSON API, Katharsis can be used with many other libraries which support the standard.


## Documentation and examples
Documentation, along with example projects and project details are available on project website [katharsis.io](http://katharsis.io) and [katharsis-jsonapi.readthedocs.io](http://katharsis-jsonapi.readthedocs.io/)


## Chat
Need to directly talk to us? Write on gitter:

[![Join the chat at https://gitter.im/katharsis-project/katharsis-framework](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/katharsis-project/katharsis-framework?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
14 changes: 14 additions & 0 deletions build.sh
@@ -0,0 +1,14 @@
#!/bin/bash
set -ev

mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V -Dexamples=true
mvn -pl ':katharsis-core' test jacoco:report coveralls:report
if [ "${TRAVIS_PULL_REQUEST}" != "true" ] && [ "$(git status | head -1)" != "HEAD detached at FETCH_HEAD" ] ; then

if [[ $TRAVIS_BRANCH == 'master' ]]; then
# deploy to staging repository
echo "TODO: ADD DEPLOYMENT TO STAGING REPOSITORY"
else
mvn deploy -DskipTests=true --settings settings.xml
fi
fi

0 comments on commit 1f70423

Please sign in to comment.