Nimbus is a personal project aimed at making file storage and management straightforward and accessible. By focusing on the essentials, it provides a reliable and efficient way to upload, access, and share files without unnecessary complexity.
Nimbus is built using modern technologies for simplicity and functionality:
- React 19: For building dynamic user interfaces.
- Next.js 15: Provides server-side rendering for better performance.
- Appwrite: Manages authentication, database, and file storage.
- TailwindCSS: Ensures clean, responsive design with utility-first CSS.
- ShadCN: Helps maintain consistent and reusable UI components.
- TypeScript: Adds type safety for fewer bugs and cleaner code.
Nimbus focuses on the core functionalities that make file storage easier:
- Authentication: Sign up, log in, and log out securely using Appwrite.
- File Uploads: Quickly upload documents, images, audio, and video files.
- File Management: View, rename, and delete files effortlessly.
- Downloads: Retrieve files with one click.
- File Sharing: Share uploaded files with others easily.
- Dashboard Insights: See storage usage, recent uploads, and file summaries.
- Global Search: Find files quickly across all uploads.
- Sorting: Organize files by date, name, or size.
- Responsive Design: Works well on both desktop and mobile devices.
Ensure the following tools are installed:
- Git
- Node.js
- npm (or yarn)
-
Clone the Repository:
git clone https://github.com/JavaScript-Mastery-Pro/storage_management_solution.git cd storage_management_solution
-
Install Dependencies:
npm install
-
Set Up Environment Variables:
- Create a
.env.local
file in the project root. - Add the following:
NEXT_PUBLIC_APPWRITE_ENDPOINT="https://cloud.appwrite.io/v1" NEXT_PUBLIC_APPWRITE_PROJECT="" NEXT_PUBLIC_APPWRITE_DATABASE="" NEXT_PUBLIC_APPWRITE_USERS_COLLECTION="" NEXT_PUBLIC_APPWRITE_FILES_COLLECTION="" NEXT_PUBLIC_APPWRITE_BUCKET="" NEXT_APPWRITE_KEY=""
- Replace placeholders with your Appwrite credentials.
- Create a
-
Run the Project:
npm run dev
Open http://localhost:3000 in your browser.
Nimbus is functional, but there’s room for improvement:
- File Versioning: Add a version history for uploaded files.
- Tagging: Allow users to tag files for better organization.
- Better Sharing Options: Provide links with expiration dates or access levels.
- Offline Support: Introduce offline access with Progressive Web App (PWA) features.
- Notifications: Notify users of large uploads, errors, or shared file updates.
- Customizable UI: Let users tweak themes or layouts to fit their preferences.
- Check out my other projects at m4rkyu.com.
- Star the project on GitHub: Nimbus Repository.
Nimbus is a simple solution for anyone who wants to manage files without the hassle of complex systems. It’s lightweight, personal, and focused on making storage easier.