Hi, @markm208. There is a lot to answer here so I’m going to inline each point below.
To summarize what is written below, Netlify can do much of this but there are certain requirements listed which don’t perfectly match with our service.
- basic user management (create accounts, password stuff, authentication, etc.)
This can be done at Netlify using Identity.
- upload capabilites (logged in users upload their zipped directories)
Deploys at Netlify are must contains all files required. Also, deploys are immutable. The only way to modify a deployed site is to redeploy the whole site.
If you are using our API or CLI tool to deploy, only changed files need to be uploaded but all files included in the deploy must be listed. In other words, there isn’t a way to modify a deploy by just adding a few files to it.
In other words, this is one area where your requirements would need to find some way to work with our service.
You might have people upload their files by creating new sites under your account and then using redirect proxy rules to display that new sites as subdirectories of the exist site. (That is just one possible solution.)
- serving the static content that has been uploaded (html/js/css that was generated by the dev)
Our service does specifically target “the Jamstack” and we are quite well suited to serving static content.
- basic display of a user’s content (show links to all of a user’s work)
This isn’t something that we would do automatically. Your site build process would need to handle this. This might be done using API queries or something similar during the build process itself.
- basic search of uploaded code walkthroughs (find and display links to all code walkthroughs in Clojure or C# or whatever)
We don’t provide any search functionality. However, there are solutions for providing search with static site generators, for example: this or this.
To summarize, yes, you can do most if not all of this at Netlify. How you go about doing that is a much bigger question and some of your requirements are trickier than others.
For example, for the file uploads you may end up using a Content Management System (like Netlify CMS) or a service like Contentful. Those two approaches are quite different and so the solutions for those two methods would differ as a result.
The solution might instead be uploading to S3 buckets at AWS. This is a third solution which would again differs greatly from the other two.
If there are other questions about this, please let us know.