I have about a couple dozen hours of node.js coursework under my belt so I can follow along most guides but I don't have sufficient experience to do things efficiently yet. I'm building a document repository for a group of users I am looking to start a project with four initial features (user authentication, view available files/directories from an S3 bucket, upload files to s3, and search the S3 bucket) but I intend on re-hiring the engineer to help me develop many subsequent functionalities (user groups, enhancements to UI, detailed audit interface).
This project will be hosted on AWS. MeteorJS is a preferred technology stack but not a requirement. I'm unwilling to deploy this using [login to view URL] even though Davros ([login to view URL]) is basically the tool I want to build and it is built with EmberJS & Sandstorm. I expect the development engineer/team will set up a development and production branched git repository in a private [login to view URL] and provide me the directions I need to deploy this to AWS or setup an operational account through which they can post this to AWS.
Authorization/Authentication: enable a user to register or authenticate against a local mondodb or google oauth 2
Authorized user lands at a page that shows 3 components:
1) the files which the user can access
2) a dropzone into which a user may drag and drop files onto this page to upload documents or pdfs to the cloud.
3) a search bar
I am not worried about the visual appearance of these components yet.
1: the library of files on the cloud-drive
initially, all authenticated users of this app can access all files uploaded to the S3 bucket. All users can over-write existing files with files of the same name. A basic auditing framework showing when a user uploaded a given file or overwrote the file is important behind the scenes but I'm not concerned about the UI right now. Users should be able to sort the files by filename and date uploaded. Users should be able to open and close directories that contain subfolders/files in this environment. Davros ([login to view URL]) has a beautiful user interface and, where possible, I would like the developer to use this open source UI as a guide for what I would like in a finished product.
2) the dropzone
End-user's client should push the document directly to AWS S3 bucket. If employing [login to view URL], a S3 slingshot library is desired because it eliminates server CPU load. For User Experience suggestions - I'm looking for something like the Davros drag and drop functionality or dropbox's "drag a file onto the page and it automatically uploads to the cloud" functionality.
3) Search functionality
Out of scope for now.