Cloud Storage is a single-page SaaS product which allows users to store and access their data, files, and information over the internet, instead of using local storage on their computers or devices.
Application is built with the following technologies:
To start the development process, I dived into exploring server-side architecture. After researching various backend technologies, I opted for Nest.js, a progressive Node.js framework known for its scalability and modularity. Nest.js provided a solid foundation for building the backend of the Cloud Storage app, enabling me to efficiently manage server-side operations.
With Nest.js as the backbone of the backend, I proceeded to create RESTful API endpoints. These endpoints served as a bridge between the client and server, handling essential operations such as user registration, login, and file management. To store user information and files metadata, I integrated PostgreSQL, a powerful relational database, into the backend. This database choice ensured data integrity and efficient handling of user-related information.
Ensuring robust security for the application was a top priority. To achieve this, I implemented PassportJS with JSON Web Tokens (JWT) for user authentication and authorization. This combination provided a reliable mechanism to safeguard user data and maintain secure access to the Cloud Storage app.
To enable users to effortlessly add files to their cloud storage, I incorporated Multer, a middleware for handling file uploads. With Multer's assistance, users could upload files of varying types, enhancing the functionality of the app.
With the backend foundation in place, I shifted my focus to the front-end development. Next.js, combined with TypeScript, emerged as my preferred choice for crafting the user interface. Next.js's server-side rendering capabilities and TypeScript's