Giter Club home page Giter Club logo

chanter's Introduction

Chanter

Chanter is a requirements management system.

If you have had to live with Rational DOORS and its proprietary database and how difficult it is to connect to your open source project, then this project is for you.

Goals:

  • allow users to create, modify and delete modules
  • use a NoSQL database to manage modules (each module in a separate collection)
  • deliver containers for the back-end and front-end
  • provide Kubernetes yaml definitions
  • ability to import into a new module from MS Excel, MS Word, OpenOffice Calc, CSV, JSON, XML and others
  • ability to export modules to MS Excel, MS Word, OpenOffice Calc, CSV, JSON, XML and others
  • ability to manage requirements and all the edits, auditing of changes
  • ability to baseline the requirements
  • ability to compare baselines for a selected module
  • perform database backup and restore
  • provide connectors to integrate into JIRA, Redmine and other tools
  • generate VCRMs given that requirements are linked to tests
  • connect to external test suites (Cucumber, Karate, etc)

Build Instructions

Currently there are three projects. To run the web interface, cd to "web" folder and type "mvn meecrowave:run". To run the back-end, cd to "back-end" folder and type "mvn meecrowave:run".

To produce a self-contained tar ball, type "mvn meecrowave:bundle".

The system is still under construction, so it has not been stress tested. The enforcement of users and roles will come in later versions, if ever.

Why the Name?

Wikipedia says "The chanter is the part of the bagpipe upon which the player creates the melody."

The analogy here is "the requirements are the part of a system which define the final solution."

I've worked multiple projects where the delivery of the system always ended up going back to the requirements and their interpretation.

While IBM Rational DOORS is a great tool, it is also very proprietary and all the plugins are extremely expensive and difficult to integrate, at least according to the IBM consultants...

chanter's People

Contributors

dtremblay avatar

Stargazers

 avatar  avatar

Watchers

 avatar

chanter's Issues

Provide a Single Page Application GUI

Provide a way to show all modules in one page.
Provide a way to show baselines
Provide a way to show requirements in a baseline
Provide a way to show differences between two baselines

Connect Logic to MongoDB

Connect Logic to MongoDB
Each module will be in a separate collection.
The collection contains a properties document:

  • module name
  • module description
  • module attributes

The collection contains baseline documents:

  • Each baseline contains a number of requirement sub-documents.
  • Each requirement sub-document contains an id, description, name and attributes.
  • The current baseline is allowed to change. The other baselines are read-only.
  • A baseline is created by renaming the "current" baseline to anything else.

Allow users to create, modify and delete modules

Create a REST service that will enable the creation, modification and deletion of requirement modules.

A module has the following definition:

  • guid: string
  • name: string
  • description: string
  • attributes: collection of attribute objects
  • baselines: collection of baseline objects

Rules:

  • requirements can only be added to the "current" baseline

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.