Giter Site home page Giter Site logo

h57_shiro's Introduction

H57 Shiro Example

A Spring MVC 3.1.0 sample, leveraging Shiro 1.20, myBatis 3.0.6, and JSR-303 Validation (Hibernate reference implementation).

When playing around with these technologies, I found it challenging to find a solid sample implementation that I could wrap my head around. So I decided to to write one myself and then use it to write some tutorials.

Website: [Google +] (https://plus.google.com/u/0/113383164169998763938/about)

Bugs/Suggestions: [Google +] (https://plus.google.com/u/0/113383164169998763938/about) (till I have need of something more mature)

Compilation

We use maven to handle our dependencies.

  • Install Maven 3
  • Check out this repo and: mvn clean package

Installation

You will need an empty mysql database to actually run this code. By default, we expect:

  • url=jdbc:mysql://localhost/h57_shiro
  • username=h57_shiro
  • password=h57_shiro

However, you can change this in the myBatis Development Properties file the user will need ownership to create tables, etc.

Once your database is setup, you can run: mvn migration:bootstrap

This will create and autopopulate all needed tables as per the [myBatis Bootstrap Script] (https://github.com/bubba-h57/H57_Shiro/blob/master/src/main/resources/migrations/scripts/bootstrap.sql)

Coding and Pull Request Conventions

  • We generally follow the Java coding standards.
  • No Tabs; use 2 Spaces instead.
  • No trailing whitespaces.
  • No CRLF line endings, LF only, put your gits 'core.autocrlf' on 'true'.
  • No 80 column limit or 'weird' midstatement newlines.
  • The number of commits in a pull request should be kept to a minimum (squish them into one most of the time - use common sense!).
  • No merges should be included in pull requests unless the pull request's purpose is a merge.
  • Pull requests should be tested (does it compile? AND does it work?) before submission.
  • Any major additions should have documentation ready and provided if applicable (this is usually the case).
  • Most pull requests should be accompanied by a corresponding Google Plus post so we can associate commits with issues (this is primarily for changelog generation).
  • Try to follow test driven development where applicable.

If you make changes or add classes it is mandatory to:

  • Get the files from the this repo - make sure you have the last version!
  • Make a separate commit adding the new classes (commit message: "Added x for diff visibility" or so).
  • Then make further commits with your changes.
  • Mark your changes with:
    • 1 line; add a trailing: // H57_Shiro [- Optional reason]
    • 2+ lines; add
      • Before: // H57_Shiro start [- Optional comment]
      • After: // H57_Shiro end
  • Keep the diffs to a minimum (really important)

Tips to get your pull request accepted

Making sure you follow the above conventions is important, but just the beginning. Follow these tips to better the chances of your pull request being accepted and pulled.

  • Make sure you follow all of our conventions to the letter.
  • Make sure your code compiles under Java 6.
  • Provide proper JavaDocs where appropriate.
  • Provide proper accompanying documentation where appropriate.
  • Test your code.
  • Make sure to follow coding best practises.
  • Your pull request should link to accompanying pull requests.
  • The description of your pull request should provide detailed information on the pull along with justification of the changes where applicable.

h57_shiro's People

Contributors

bubba-h57 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.