/kanban

Kanban board implemented in Java EE, JSP, Hibernate & JPA [2017]

Primary LanguageJavaApache License 2.0Apache-2.0

Kanban

Description

Web application based on scheduling system Kanban. The program helps manage programming projects (and not just programming) on the basis of tasks divided into three category: "to do", "doing" and "done". Each of users belongs to one team and user can inter alia: start new project, add tasks to its, change tasks' category or remove them.

Technologies

  • Java:
    • Java EE:
      • JSP [view of websites]
      • JSTL [core, functions]
      • Expression Language
    • JPA & Hibernate:
      • JPQL [adding, updating, selecting and deleting queries]
      • specifying relations between entities in database and parameters of columns in tables
    • Java 8 SE:
      • Stream API
    • JavaDoc:
    • servlets, listeners, annotations, hashing passwords
  • HTML:
    • Bootstrap 3.0.3 [Responsive Web Design]
    • data validation in login form and registration form
    • semantic elements from HTML5
  • CSS

Features

  • Overall review of projects carried by company, adding new project or deleting existed: company
  • Summary tasks in the projects to which employee belongs: profile1
  • Changing category of tasks or removing what have been done: profile2
  • Summary tasks in the projects for all team: project
  • Possibility of adding new tasks setting person responsible for its execution: addtask

Software tools

  • IntelliJ IDEA 2017.2.2
  • pgAdmin 4 [PostgreSQL 9.6]
  • Apache Tomcat 8.5.30
  • Maven 4.0.0

Project structure

│   Kanban.imlpom.xml
│
└───src:
    └───main:
        ├───java:
        │   └───com:
        │       └───plkpiotr:
        │           └───kanban:
        │               ├───dao:
        │               │       CompanyDAO.java
        │               │       EmployeeDAO.java
        │               │       ProjectDAO.java
        │               │       TaskDAO.java
        │               │
        │               ├───domain:
        │               │       Company.java
        │               │       Employee.java
        │               │       Project.java
        │               │       Task.java
        │               │
        │               ├───listeners:
        │               │       ConfigurationListener.java
        │               │       InitializationListener.java
        │               │
        │               └───servlets:
        │                       AddTaskServlet.java
        │                       CompanyServlet.java
        │                       IndexServlet.java
        │                       LogInServlet.java
        │                       LogOutServlet.java
        │                       ProfileServlet.java
        │                       ProjectServlet.java
        │                       RegistrationServlet.java
        │
        ├───resources:
        │   └───META-INF:
        │           persistence.xml
        │
        └───webapp:
            ├───css:
bootstrap.min.cssstyle.css
            │
            ├───img:
[PNG files]
            │
            ├───js:
backToTheSamePlace.jsbootstrap.min.jsjquery-3.2.1.min.js
            │
            └───WEB-INF:
                │   web.xml
                │
                └───views:
                        addtask.jsp
                        company.jsp
                        error.jsp
                        index.jsp
                        login.jsp
                        profile.jsp
                        project.jsp
                        registration.jsp

Comments

Icon of Kanban was made by Those Icon from FlatIcon is licensed by CC BY 3.0.
Avatars on the website were made by Eucalyp from FlatIcon is licensed by CC BY 3.0.

License

Apache License 2.0