Giter Club home page Giter Club logo

vms's People

Contributors

olegood avatar

Watchers

 avatar

vms's Issues

Add pages blueprints

Goal
Add pages layout blueprints.

Acceptance Criteria

  • add some pages skeletons
  • example layouts could be reached from menu items

Build info API

Goal
Introduce build info API and display it in footer.

Acceptance Criteria

  • configure API for retrieving build info (current version)
  • create Footer component and display app version within it
  • add timestamp tooltip (when cursor is over the version tooltip appears)

Specification
GET /api/build-info

MVP: People Page

Goal
Create minimal page to list all the people stored.

Acceptance Criteria

  • new navigation item is present: "People"
  • people page contains table with all the records available in database
  • page should display total number of records stored

Scratch Design
mvp-people-page

Create initial project structure

Goal
Create initial project structure and make the first build successful.

Acceptance Criteria
Project has to be based on following tools and technologies:

  • Java 11
  • Spring Boot
  • Apache Maven

Build should be successful:

$ mvn clean install

Configure ESLint

Goal
Introduce ESLint to keep JS code clean.

Acceptance Criteria

  • ESLint is added to dependencies
  • all main rules configured
  • all JS code is formatted accordingly

People Quick Search

User Story
As a User,
I want to quick search for a person
so it will be easy to find particular person.

Goal
Add quick search component and make it possible to quickly find a person by surname.

Acceptance Criteria

  • people page has quick search component
  • every key pressing should trigger filtering people by surname
  • pagination has to be considered as well
  • row menu items added (placeholders)

Add ErrorPage component

Goal
If user navigates to incorrect (or nonexistent page) land to custom error page.

Acceptance Criteria

  • create separate react component
  • configure routing options

Change favicon

User Story
As a User,
I want to see another favicon
so I will be able easily find application tab.

Goal
Change favicon.ico file for another appropriate one.

Acceptance Criteria

  • old favicon file is changes for brand new one
  • application title now is "VM App"

Add initial README file

Goal
Add initial README file containing basic description and list of potential tech tools that will be used.

Acceptance Criteria

  • add general description
  • list of potential tech tools (Java 11, Spring Boot, Lombok, Maven, H2, Liquibase, JUnit, Mockito)

Configure Liquibase

Goal
Configure Liquibase in order to track, version, and deploy database changes.

Acceptance Criteria

  • Liquibase is configured
  • previously configured database schema and data is fully migrated to Liquibase configuration files
  • configuration type: XML

Specification
Initial database schema name should be VM

spring.datasource.url=jdbc:h2:mem:vmsdb;INIT=CREATE SCHEMA IF NOT EXISTS VM

Liquibase master file should be customized:

#liquibase
spring.liquibase.change-log=classpath:db/changelog/db.changelog-master.xml

Get rid of 'commons-lang3'

Avoid using external library:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
</dependency>

Hide pagination controls

Goal
Show pagination elements only if elements count is greater that fetch size. No need to show pagination if elements fit one page.

Acceptance Criteria

  • pagination is not shown if fetch data can be shown on one page

Introduce ArchUnit

Introduce arch unit tests:

<dependency>
  <groupId>com.tngtech.archunit</groupId>
  <artifactId>archunit</artifactId>
  <version>0.23.0</version>
  <scope>test</scope>
</dependency>

People Page Pagination

User Story
As a User I want to have pagination on people page,
So, I could navigate the data partially.

Goal
Retrieve database information partially.

Acceptance Criteria

  • add pagination elements on people page

Minimal in-memory database configuration

Goal
To have minimal database configuration and in-memory persistent storage.

Acceptance Criteria

  • simplest database configuration is set
  • H2 in-memory db is used

Specification
Add schema.sql and data.sql to have.

Configure Font Awesome icons

User Story
As I user,
I wan to see some actions with icons
so it is easy to recognize actions or navigation items.

Goal
Configure Font Awesome free icons as most popular library for React.

Acceptance Criteria

  • font awesome icons are set
  • all navigation items have icons

Header menu placeholders

User Story
As a User,
I want to see header menu placeholder,
So, I will be able so overview the picture.

Goal
Configure header menu items.

Acceptance Criteria

  • header menu items have draft placeholders for menu items
  • menu items contain several sample actions
  • disable unsupported actions

Configure Bootstrap Framework

Goal
Introduce Twitter Bootstrap Framework.

Acceptance Criteria

  • install npm bootstrap module
  • configure footer content
  • add sample navigation panel
  • add sample content

Specification

  • footer has to be divided by two parts
  • application version should be located in right bottom

Create base tables

Goal
Initiate production database schema.

Acceptance Criteria

  • some basic tables are configured properly
  • list of new tables: voucher, voucher_utilization, petition, person, personal_info

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.