GithubHelp home page GithubHelp logo

addressbook's Introduction

Introduction

A command line application developed in Java programming language. The main purpose of this project is to act as a qualification test of mastering of Java.

Requirement

Manage addresses by adding, searching and removing address entries.

Must be implemented features

  • address entry data structure

    • name of the person

    • mobile number of the person

    • home address of the person

  • start interactive command line application

    sh> java -jar ab.jar

    ab> _

  • use add command to add new address entry

    ab> add

    name: xiaoming

    mobile: 18888888888

    address: xiaoming jia

    address entry added

    ab> _

  • use search command to get one or more address entries

    ab> search

    by (name|mobile|address): name

    name: xiaoming

    one can search by name, mobile or address, regular expression can be used to query. if more than one entires are matched, they should be all displayed.

  • use remove command to remove one or more address entries

    ab> delete

    by (name|mobile|address): name

    name: xiao.*

    two address entries deleted

    ab> _

    one can remove by name, mobile or address, regular expression can be used to query. if more than one entries are matched, they should be all removed.

  • get help

    ab> !help

    then help message should be displayed, and when encoutering invalid command, help message should also be displayed.

  • quit from the application

    ab> !quit

    sh> _

Nonfunctional requirement

  • project must be managed by Maven, latest version of v3

  • unit test is a must

    • coverage should be higher than 85%, and Cobertura should be use to measure
  • javadoc for public interface/class/method is a must

  • both Java code and XML should be well-formatted

    • NEVER use tab for indentation
  • XML should be used as backend persistent storage

    • it is only allowed to use JDK builtin DOM implementation
  • ExecutorService should be used to handle commands

  • Maven assembly plugin should be used to assemble the application

    • mvn clean install, then everything should be ready, and one can find assembled application under target folder
  • DO NOT store any IDE specific files into git repository

  • if there is any fault in this readme, please also fix it or submit an issue

Note

  • Fork me and use pull request to submit changes to develop branch. Anything unclear about the feature, fire issue.
  • You should submit your source code and pom file

addressbook's People

Contributors

jihao avatar honnix avatar

Watchers

James Cloos 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.