Giter Club home page Giter Club logo

msrxiv's People

Contributors

uly55e5 avatar

Watchers

 avatar  avatar  avatar  avatar

msrxiv's Issues

User and teams managment

The user should have different options for authentication on login to msrXiv:

  • local password (with local oauth2 server)
  • ORCID
  • ELIXIR

First time users have to choose a authentication method and, if the opt for the local login, set the password. To complete their profile they have to set a user name and Email address and may optionally choose a profile photo. After creating the profile a user can anytime change the profile information.

In case the user does not remember its password, he/she can get a link for resetting the password by Email.

If a new Email address is set or the address changes the user is sent a verification mail, on which he/she has to respond to activate the account. An account with a non-verified Email address is inactive.

While creating a user, there will also a team be created, which has the same name as the user. Any user can create additional teams. Members of the team can invite other members to the team or remove members. Teams can be deleted by the owner.

Users can be deleted by the administrators.

Update team name

As the owner of the team I should be able to change the team name.

Belongs:

Create Team model

A team should have the following fields:

  • name

A team can be a personal team of a user.

Delete User

As a administrator I should be able to delete a user.

Belongs:

Create the user model

Description

The model should have the following fields:

  • Profile photo (image)
  • Teams (array)
  • Roles (array)
  • Name
  • Email
  • Password
  • Linked Social Accounts

A user has the following attributes:

  • is notifiable
  • may have two factor authentication
  • has API tokens

Relation to the ISA Model

The ISA model represents persons involved in an investigation as "Contact" and states that these SHOULD have the following properties:

  • Name (string)
  • Email (emai/stringl)
  • phone (phone number/string)
  • address (multi line string)
  • affiliation (string/orgranization)
  • roles (roles, ontology based)

As the users also are involved in an investigation or study, they are also Contacts in the sense of ISA.

Relation to Pistoia UDM

The Pistoia Unified data model defines Authordetails. These contain:

  • Name (string)*
  • Email (email/string)
  • Phone (phonenumber/string)
  • organization (organization)

Relations to other stories

Belongs

  • story #3

Requirements

[ ] model has fields and is extensible (* required fields):

  • Name*
  • Email*
  • Password*
  • Photo

[ ] a model/class in the programming language
[ ] a database model
[ ] documentation of the model

Remove team member

As a member of a team I should be able to remove a team member from the team.

Invite user to team

As a member of a team I should be able to invite users as new team members.

Belongs:

Delete Team

As the owner of a team I should be able to delete it.

Belongs:

Team creation

As a member I should be able to create a new team.

Belongs:

Setup the database

As RDBMS we use PostgreSQL. The database should run in a container and can be run in docker or kubernetes.
Hostname, credentials for RDBMS, database name, username and user password are configurable. Multiple databases per postgreSQL instance should be possible.

Defaults:

  • DB name: msrxiv
  • user name: msrxiv
  • password: msrxiv

For production environments a secret password is necessary.

Relations

Belongs

Requirements

[ ] files to create and start an empty database
[ ] documentation for developers and devops

Reset password

As a user I should be able to reset my password by a link sent to me.

Belongs:

Bootstrap the project

As a developer I want the setup the project structure and basic config and source files.

Belongs:

Update User information

As a user I should be able to update my user Information.

User information is:

  • name
  • email
  • photo

Email verification should be resend.

Belongs:

Developer environment

Developers need to setup a environment where they can develop, debug, test and document the applications.

The environment should be as much like a productive one, but with development features.

Validate password

The password should be a non-empty string with at least 8 characters. Any printable UTF-8 character is allowed.

Belongs:

  • story #3

Requirements

[ ] password validator in backend code
[ ] error message to frontend
[ ] documentation

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.