KloudBox is a web application developed by me, that serves as a file cloud storage service, designed to store and manage user files. The platform allows users to upload their files, generate a link to the file, and easily share it with others. The project was started on 12th February 2023 and built using Next.js and Tailwind CSS for the front-end, and Node.js for the back-end.
-
Next.js
-
Tailwind CSS
-
Node.js
-
AWS EC2 virtual server
- Sanity.io
- TypeScript
Using these tools and technologies allowed the developer to efficiently and effectively build KloudBox, providing a reliable and scalable solution for file storage and sharing.
I used Next.js and Tailwind CSS, two popular web development frameworks that allow for efficient and flexible development of responsive web applications. Next.js is a React-based framework that provides server-side rendering, automatic code splitting, and easy client-side routing, making it a great choice for building modern web applications. Tailwind CSS is a utility-first CSS framework that allows for easy customization and consistency in web design.
I used Node.js, a popular server-side JavaScript runtime that allows for fast and scalable development of web applications. Additionally, the backend REST API was deployed on an AWS EC2 virtual server, providing a scalable and reliable infrastructure for the application.
I used Sanity.io CMS, a headless CMS that allows for easy management of content without being tied to a specific front-end. Sanity.io provides a user-friendly interface for creating and managing content, making it easy for non-technical users to update and maintain the website.
KloudBox features an easy-to-use user interface and provides the following functionalities:
-
File upload and management
-
Automatic file link generation with an expiry date
-
CMS integration using Sanity.io
-
Built with TypeScript for added robustness
-
Restful API deployed on AWS EC2 virtual server
-
Unique sharing features for guest users
During the development of KloudBox, several challenges were encountered, such as:
-
Programmatically creating and deleting directories in the backend
-
Persisting data using LocalStorage in Next.js on the frontend
Despite the challenges encountered, I was able to overcome them by writing my own custom code.
The entire project was written in TypeScript, a statically typed superset of JavaScript that provides better tooling, type checking, and code organization, making it easier to write and maintain large-scale web applications.
Overall, the use of these tools and technologies allowed me to efficiently and effectively build KloudBox, and provide a reliable and scalable solution for file storage and sharing.
Project is currently ongoing.