Create Simple Projects Module
The Projects Module is not intended to store data on the blockchain directly, but to mainly store the data in network storage. The project key can be used for example, in the Timekeeping Module providing a reference that will be stored along with the timekeeping data on the blockchain.
This is a draft spec and subject to fine tuning during implementation. Please discuss or make amendments, if something is not optimised, or inefficient or problematic.
Network Storage fields (S), Display fields (D), both (DS), Editable (E), are as follows:
- "Project Name" (SDE)
"Project key" (S) (generate a new address - this has the same format as an account address, only generated when save is executed)- "Hash" unique key generated during project creation
- "Project Owner" (SDE) (your current address by default, can be edited using a dropdown (by name) of your own addresses. Only the owner can change the project)
- Project Brief Description (SDE) (160 Chars Max) [This list may be expanded later, consider this in the storage mechanism]
A button to save to the projects storage elements on the network. Provide an empty function that will eventually be used as a mechanism to send the Project address and Owner as a transaction. I'm not sure if this should execute first, before network storage or after.
Adding others and managing other assigned to the project. This can be a separate component that loads with the main project component. It may be better to have this as a separate component because later the sidebar or equivalent, should be able to select this or be called independently.
- Search/input field, (search: project name, address or description providing a shortlist of results from server?)
- An address field which is the third-party's address to be added. Can be from your address book (not the wallet, i.e. the name needs to be in your address book for this to work)
A button to save (to the project assignees file on the network).
Once an address is added it can only be removed by the Project Owner. I am toying with the idea that this can be stored on the blockchain. - to be discussed.
Projects List Displays all projects and assignees as a list. Can take the form of the current Wallet list i.e. the far right side of each item should have a buttons to edit and delete. May also have an eye-dropper to pop-up a modal box with more details.