We need multi-file uploader for Digital Ocean Spaces. This uploader will be used by our internal content management team(CMS TEAM). Requirements are as under
Digital ocean spaces is S3 style cloud storage and uses the same protocol.
The project will need 2 separate interface. One is Super-Admin interface. And other is the Content Manager's Interface
1 . SUPER - ADMIN INTERFACE
A. Super admin can add Digital Ocean(DO) spaces to the site. To add a space, Super Admin will enter the necessary data, such as endpoint, API key, secret etc. in the interface. Each space will be given an internal name, which is what will be shown to other users(CMS team).
B. After a space is added, the Folder Structure inside that space will be shown to the cms team
C. USER MANAGEMENT : Super Admin, will need to add each member of the CMS team individually, For them to have access to the spaces folder structure. Read 3.A - the login requirements. Their email needs to exist, and they need to enter a token, which is set by super-admin for each user.
D. FILE PRIVACY SETTING : Super admin needs to set the Privacy settings for each space. This privacy setting will be used by the CMS team member to upload the content
E. URL DOMAIN : Super admin also needs to set the Subdomain for each Space. this will be used to show the URL for each file that is uploaded by CMS team.
2. Content Manager's - INTERFACE
A. Content Manager's Interface will have tabs for each space, that were added by super-admin
B. Once they click on a tab, the folder structure will be shown for that space.
C. They can click on any folder, to go inside that folder. If needed, they can create a folder inside any folder.
D. In-order to upload they need to select a folder, and then Drag and Drop or select the files they want to upload
E. The privacy of these files will be set based on 1.D : whatever privacy settings super admin has set for that space.
F. CREATE FOLDER : CMS Team member can create new folder. Once they create a folder, they need to select it and then upload the files.
G. FILE URL : Once the file is uploaded, the URL of each file should be shown in the front end. These URL have to be constructed from the 1.E (URL domain mentioned by Super-Admin) and the file path in DO without the actual domain
3. Password-less LOGIN USING FIREBASE
A. We will be using password-less authentication in firebase. Once the email is entered, user need to click on the link sent in their email, to be let inside the system.
B. They can only be allowed, if they exist in the secondary table, and their role as CMS Team member is set.
C. Super-admin will have additional login requirements for login, which will be only be discussed once the project has been successfully assigned.
ADDITIONAL REQUIREMENTS :
To Store Spaces related data, again we would like to use firebase, to store API Keys, etc. Due to large number of bids received, we need to make sure that you are serious about the project, and have read all the requirements, before bidding. Thats why please include the phrase "TEAM TROLLS" in the description of your offer.
Also include the technologies you would be using. Our preference is Angular.