DEV Community

Cover image for Fun With Files - Time Capsule Submission for the Pinata Challenge
Inês Catana
Inês Catana

Posted on

Fun With Files - Time Capsule Submission for the Pinata Challenge

This is a submission for the The Pinata Challenge

What I Built

Fun With Files is a decentralized file-sharing platform where users can upload, view, and preserve their most cherished memories. It allows users to create a "time capsule" of images, accompanied by titles, descriptions, and tags. With integrated file upload and retrieval, Fun With Files ensures a seamless way to store and interact with media files using Pinata for decentralized file storage.

The application is built using Next.js for the frontend, Tailwind CSS for the UI, and MongoDB for storing metadata. Pinata is used to store the files on IPFS, ensuring decentralized and immutable file storage.

Demo

Live

homepage

upload page

gallery

My Code

GitHub Repository

More Details

In this project, I integrated Pinata in multiple ways:

File Upload to IPFS: Users can upload images via a simple frontend interface. These files are securely uploaded to IPFS using Pinata's API, ensuring decentralized storage.
File Retrieval from Pinata Gateway: The images uploaded by users are fetched and displayed from the Pinata gateway, ensuring users can view their files stored on IPFS.
IPFS CIDs for Content Addressing: Each file has a unique CID (Content Identifier) which is stored in MongoDB along with additional metadata like title, description, and tags. This CID is used to retrieve the files.

Features:
Decentralized Storage with Pinata: All files are stored on IPFS using Pinata, providing a permanent and secure way to store user memories.
File Management: Users can upload, view, and download images with titles and descriptions,

Top comments (1)

Collapse
 
programordie profile image
programORdie

Looks good, but how do you make sure only the users sees it files? It looks like you don't do any auth and you don't store them in the cookies/localstorage either.