I am trying to create a view in which user should have the capability to create a folder, upload and download the files.
Is there any simpler way to create this with minimal scripting?
All of those tasks must be scripted. Either you have working code or not working code. No such thing as “minimal”.
Is it possible to create these functionalities without webdev module?
Yes, the file upload component is native to Perspective, and the
system.perspective.download() native Perspective function can be used in a script action to initiate downloads. If you wish to display files in image components, PDF viewers, et cetera, and they really are files on the server, you need the WebDev module. If you store the files in blob columns of your database, you can use my free Blob Server module: