GithubHelp home page GithubHelp logo

x0phet / simple-java Goto Github PK

View Code? Open in Web Editor NEW

This project forked from angryziber/simple-java

0.0 1.0 0.0 141 KB

Code for the talk at GOTOCon Prague & Amsterdam about writing simple web apps - Plain Simple Java, and another one at Topconf - 3 tales of testing DB-enabled apps

Home Page: http://gotocon.com/prague-2011/presentation/How+to+get+Java+back

License: Other

simple-java's Introduction

This is a skeleton project for a Java webapp, done right.

It includes:
- Ant & Ivy for dependency management
- Jersey for handling of http requests in a RESTful way
- Spring for dependency injection in the code
- H2 database (Windows users may need to edit jetty-web.xml)
- Liquibase for DB migration
- Hibernate for working with the DB
- JUnit & Mockito for unit testing

After cloning, run src/Launcher.java to start. Everything is preconfigured.

Small amount of code it contains implements a simple database of good Photo Spots,
which uses google maps to browse and edit them.

Or you can follow how this all have been created by pulling various branches
into your own branch in this order:
- start - empty project
- ivy - add ivy for dependency management
- launcher - adds Jetty launcher to run the app without any external application servers
- map - adds html with Google Map
- web.xml - first step for Java web app
- logging - adds good logging, useful for any web app
- jersey - adds Jersey (JAX-RS implementation) for handling HTTP REST requests
- map-with-spots - adds dummy photo spots to the Google Map
- add-spot - possibility to add new spots to the map
- spring - adds Spring for dependency injection
- db - adds H2 database
- hibernate - adds Hibernate for persisting of objects without hand-coded JDBC code
- tests - adds some unit tests (in real life these should be added on every step)
- db-testing - adds plain JDBC implementation for persistence as well as more tests, see 2nd presentation below

By following these branches in this order you can also get an idea how to build an app step-by-step,
following Just Enough Design principle.

See related talk from GOTOCon and Devclub here - "How to get Java back":
http://www.slideshare.net/antonkeks/simplicity-8971441

And another one about DB testing from Topconf - "3 tales of testing of DB-enabled apps":
http://prezi.com/kq0ghszq6e-j/3-tales-of-testing-db-enabled-apps/

simple-java's People

Contributors

angryziber avatar jevgeni avatar

Watchers

 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.