Git Product home page Git Product logo

rreganjr / requel Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 275.12 MB

Requel is a Web-based requirements management system that supports collaboration among all stakeholders and provides (very limited) automated assistance to validate requirements and suggest improvements. It supports requirements as goals, stories, and use-cases.

License: GNU General Public License v3.0

Shell 0.06% HTML 0.96% Java 87.27% CSS 0.04% XSLT 11.65% Dockerfile 0.01%
usecase user-story goals requirements requirements-management requirements-elicitation

requel's Introduction

Requel

Requel is a Web-based requirements management system that supports collaboration among all stakeholders and provides (very limited) automated assistance to validate requirements and suggest improvements. It supports requirements as goals, stories, and use-cases.

See the User Guide for more details on using Requel. NOTE Chapter 5, Requel Setup is no longer relevant with the executable Jar file.

For more information about the motivation for this project see the Thesis Document.

See the example Requel.xml project file that can be imported.

New Executable Jar for Easy Running

This release replicates the functionality of the original release from 2009, but as an executable jar file that is easier to configure and run. It has an embedded tomcat web server so you only need to have a MySQL database running. Just pass database settings and a port to listen on if 8080 is not available:

Pass in the database setting parameters like this:

  • jdbc url --spring.datasource.url=<url>
  • username --spring.datasource.username=<username>
  • password --spring.datasource.password=<password>

Optionally pass the service port like this:

  • port --server.port=<portnumber>

Example command

java -jar Requel-1.0.1.jar --spring.datasource.url=jdbc:mysql://localhost:3306/requeldb?createDatabaseIfNotExist=true --spring.datasource.username=root --spring.datasource.password=password --server.port=8081

Then access the app http://localhost:8081/

log in to the application as admin user with password admin.

If You Use Docker

check out https://hub.docker.com/r/rreganjr/requel/

docker network create requel-net
docker run --name requelDB --net=requel-net -e MYSQL_ROOT_PASSWORD=pa33w0rd -d mysql:5.6.32
docker run --name requel --net=requel-net -p8181:8080 -d rreganjr/requel:1.0.1 --spring.datasource.url=jdbc:mysql://requelDB:3306/requeldb?createDatabaseIfNotExist=true --spring.datasource.password=pa33w0rd

Then access the app http://localhost:8181/

requel's People

Contributors

dependabot[bot] avatar rreganjr avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

requel's Issues

All Assistants getting exceptions during analysis after refactor

2018-06-13 01:30:36.153 ERROR 37348 --- [ taskExecutor-1] r.r.p.i.a.ProjectOrDomainEntityAssistant : failed to add note indicating failure of glossary term identification for the Name of interface com.rreganjr.requel.project.Actor[48]:System Admin

com.rreganjr.EntityException: The unknown conflicts with an existing <unknown>
	at com.rreganjr.EntityException.uniquenessConflict(EntityException.java:120) ~[classes/:na]
	at com.rreganjr.repository.jpa.ConstraintViolationExceptionAdapter.convert(ConstraintViolationExceptionAdapter.java:63) ~[classes/:na]
	at com.rreganjr.repository.ExceptionMapper.convertException(ExceptionMapper.java:157) ~[classes/:na]
	at com.rreganjr.repository.ExceptionMapper.convertException(ExceptionMapper.java:110) ~[classes/:na]
	at com.rreganjr.repository.ExceptionMappingCommandHandler.execute(ExceptionMappingCommandHandler.java:52) ~[classes/:na]
	at com.rreganjr.repository.RetryOnLockFailuresCommandHandler.execute(RetryOnLockFailuresCommandHandler.java:67) ~[classes/:na]
	at com.rreganjr.requel.project.impl.assistant.AbstractAssistant.addNote(AbstractAssistant.java:87) ~[classes/:na]
	at com.rreganjr.requel.project.impl.assistant.ProjectOrDomainEntityAssistant.analyzeProperty(ProjectOrDomainEntityAssistant.java:202) [classes/:na]
	at com.rreganjr.requel.project.impl.assistant.ProjectOrDomainEntityAssistant.analyze(ProjectOrDomainEntityAssistant.java:123) [classes/:na]
	at com.rreganjr.requel.project.impl.assistant.TextEntityAssistant.analyze(TextEntityAssistant.java:72) [classes/:na]
	at com.rreganjr.requel.project.impl.assistant.UseCaseAssistant.analyze(UseCaseAssistant.java:66) [classes/:na]
	at com.rreganjr.requel.project.impl.assistant.ProjectAssistant.analyzeUseCases(ProjectAssistant.java:119) [classes/:na]
	at com.rreganjr.requel.project.impl.assistant.ProjectAssistant.analyze(ProjectAssistant.java:71) [classes/:na]
	at com.rreganjr.requel.project.impl.assistant.AssistantFacade$1.run(AssistantFacade.java:186) [classes/:na]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_72]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_72]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72]

Update password security

The original code used a scheme of MD5 hash without salt, which is fairly insecure by today's standards.

Goals

  • use an encryption method based on recent guidelines like those of OWASP and PKCS #5 v2.1/rfc8018 for protecting passwords and private keys.

  • support upgrading or enhancing password protection over time. For example re-encoding passwords with better methods as they become available.

    • upgrading shall minimize disruption to users
      • not requiring them to change password.
      • not requiring them to go through a reset password process.
      • allow upgrade to happen at a convenient time for users.
      • upgrade can happen without users needing to do anything special.

Importing Requel.xml fails

The password updates for #2 seems to have made the project import unhappy.

Property passwordEncryptingIterations is present but not specified in @XmlType.propOrder this problem is related to the following location:
at private java.lang.Integer com.rreganjr.requel.user.impl.UserImpl.getPasswordEncryptingIterations()
at com.rreganjr.requel.user.impl.UserImpl
at public com.rreganjr.requel.user.User com.rreganjr.requel.annotation.impl.AbstractAnnotation.getCreatedBy()
at com.rreganjr.requel.annotation.impl.AbstractAnnotation
at public java.util.Set com.rreganjr.requel.project.impl.ProjectImpl.getAllProjectEntityAnnotations()
at com.rreganjr.requel.project.impl.ProjectImpl

Move from Sourceforge

Since updating to Stanford CoreNLP the Requel-1.0.1.jar double in size to almost 600 MBytes and uploading the file to Sourceforge failed multiple times over http, ftp, and scp.

Move to github and see if it works better.

UserSet commented out in DomainObjectWrapper

When DomainObjectWrapper was moved to the new repository module it had references to UserSet in the requel module, but the dependencies of the modules would be cyclical so I commented out references to UserSet, there were notes that it may not be needed.

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.