Skip to content

README - aims etc #4

@hanfak

Description

@hanfak

docker-java-project

This is a project which I am implementing with a colleague during our Wednesday afternoon personal development time.

I have been working on several enterprise level applications using layered architecture, with RESTful endpoints all in Java.

The aim is to create a similar type of applications, but on a much smaller level, with less complex business cases. This will help get used to the ideas I have been implementing in the business sense. Plus I came into the project late, after the initial setup has been done, so it would be good to have a basic understanding of this too.

There is no time frame. I believe that this can be

Approach

Create a simple service in a container with business logic which is accessed via RESTful API. Later this will interact with another service in a container automatically. Where both services interact with a database in a container.

Technologies

First the project will involve the following

  • Java 1.8
  • Testing
    -- Junit (general testing framework - for acceptance/documentation/module/unit/static analysis)
    -- Mockito (mocking dependencies at unit level)
    -- Yatspec (for acceptance/documentation testing)
    -- Findbugs (general bugs)
    -- pmd (style guide)
    -- pi test (code coverage)
  • Log4j (logging information when app is running)
  • Docker (containers)
  • Postman (to manually test calls to the end point)
  • SQL (to make queries to database)

Due to being layered, the infrastructure tech is flexible but the time being we will use

  • Jetty (web service)
  • PostgresSQL (Database)

Other techs to play around with, should be able to plug this in as these will be part of infrastructure (Apart from Kubernetes)

  • Kubernetes
  • Continous integration (team city/jenkins)
  • MongoDB/Cassandra (NoSQL DB)
  • business flows
  • Spring (handle dependency injection framework, or restful API)
  • Hibernate (ORM and not use pure SQL)
  • front-end tech (have a website) - ember/HTML/CSS
  • Security (encryption across api calls)
  • concurrency, multiple threads

General ideas

  • Microservices
  • Functional programming
  • Object oriented programming design
  • Design patterns
  • RESTful api
  • Databases and querying using SQL
  • Webservers/servlets
  • Event sourcing and CQRS
  • Domain driven design (entities/domain values/ aggregates)
  • Test driven design
  • Behaviour driven design

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions