Giter VIP home page Giter VIP logo

Comments (4)

hyangtack avatar hyangtack commented on June 30, 2024 1

(WIP)

User

  • Seems like a private project
  • System Administrator: the only one account dogma
  • A user can see his or her own repositories by default.
  • A user has a list of organizations which belongs to him or her. The user may be an administrator for some organizations.
    • A permission to add or remove users

Organization (= Project)

  • Seems like a shared project
  • An organization consists of repositories.
  • A user may be added to an organization by organization or system administrator.
  • A user has one of the following roles:
    • Administrator (able to create/remove a repository and generate an application token for the organization)
    • User (able to read/write files in a repository)
    • Guest (able to read files in a repository)

Application Token

  • A token belongs to user repositories by default. It may also belong to an organization.
  • A token has one of the following roles:
    • User (able to read/write files in a repository)
    • Guest(able to read files in a repository)

UI

  • User page
    • My Repositories: repository list, buttons to create/remove a repository
    • My Organizations: organization list and my role for each organization
    • My Application Tokens: App ID and tokens to be used to access my repositories, and tokens' role; user or guest
    • Need a way to convert(or transfer) a repository to an organization?
  • Organization page
    • Name
    • Repositories: repositories belonging to the organization, buttons to create/remove a repository if the user logged in is an administrator
    • Members: user list and their role; administrator, user or guest
    • Application Tokens: App ID and tokens to be used to access organization projects, and tokens' role; user or guest
  • System Administrator page
    • Users
    • Repositories
    • Organizations
    • Application Tokens

from centraldogma.

hyangtack avatar hyangtack commented on June 30, 2024

API

  • /users (for System Administrator)
  • /users/repositories?user={user ID} (user parameter for System Administrator. Returns the repositories belonging to login user if user parameter is missing.)
  • /users/organizations?user={user ID}
  • /users/tokens?user={user ID}
  • /organizations (was: /projects)
  • /organizations/{organization name}/repositories (was: /projects/{project name}/repositories)
  • /organizations/{organization name}/members
  • /organizations/{organization name}/tokens
  • /tokens (for System Administrator)

from centraldogma.

hyangtack avatar hyangtack commented on June 30, 2024
  • Do not change the name project to organization. Keep the name and implement features first. Discuss the name later.
  • Implement UI using angular.js
  • Authenticate a user using Apache Shiro

Tasks

  • Add /projects/{name}/members (May require dogma/projects.json)
  • Add /users (May require dogma/users.json)
  • Add /users/projects?name={name}
  • Authorize APIs
  • ...

from centraldogma.

hyangtack avatar hyangtack commented on June 30, 2024

Closed by #133

from centraldogma.

Related Issues (20)

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.