Store
Where users browse categories and packs, preview assets, and get the ones they want.
A web platform where users browse and get digital assets — animated backgrounds, wallpapers, emoji, overlays, fonts, sound effects and web tools — organized into packs, with an admin dashboard to manage everything. This page turns the charter book into a working reference for the build.
01 · Overview
A web platform where users can browse and get digital assets, and where an admin manages everything from a dashboard. The platform has three main parts, and it must work well on both desktop and mobile.
Where users browse categories and packs, preview assets, and get the ones they want.
Where a user sees the assets they own — their library — and downloads them.
Where the admin adds, edits and manages all assets, categories, tools and users.
The website must work well on both desktop and mobile — every screen in this spec is built responsive-first.
02 · The Assets
Everything is organized into packs — a group of files sold together under one title and price — spread across 9 categories.
No categories match that search.
Category 9, Tools, is different from the rest. It is not a file to download — it unlocks the Tools section inside the website, with web utilities grouped by category.
03 · Users
Three roles, each with a wider slice of the platform.
Browse the store and see previews. Must create an account to get assets.
Get assets, see their owned assets, download them, access the Tools section.
Manage everything from the dashboard: assets, packs, categories, users.
| Capability | Visitor | User | Admin |
|---|---|---|---|
| Browse store & see previews | |||
| Create an account / log in | |||
| Get packs | |||
| My Assets library & downloads | |||
| Access the Tools section | |||
| Manage packs / categories / tools / users |
04 · Technologies
The frontend talks to the backend through an API — the backend sends and receives data in JSON. The backend reads and writes data in MongoDB.
React
JavaScript or TypeScript — what the user sees.
Node.js + Express
Server logic and the REST API.
MongoDB
Stores users, categories, packs and tools.
CSS / UI library
e.g. Tailwind CSS — free choice.
Server / storage folder
Serves original files only to owners.
React → JSON API → Express → MongoDB
05 · Functionalities
Grouped by area of the platform. Switch tabs to see each checklist.
06 · Data Model
The four main collections the intern will create, with an example document for each.
{ id, name, email,
password (hashed),
role: "user" | "admin",
ownedPacks: [packId],
createdAt }
{ id, name,
type: "download" | "tools" }
{ id, title, categoryId,
description, price,
previewFiles: [ ... ],
originalFiles: [ ... ],
published: true/false,
createdAt }
{ id, name, description,
categoryId, link }
A ready-to-seed sample dataset matching this exact shape lives in data.json — use it to seed
MongoDB locally while building the API.
07 · Important Rules
Five rules that apply across the whole platform, no exceptions.
Never stored as plain text — hash before saving to MongoDB.
Only users who own a pack can download its original files. A visitor never can.
Small / short versions only — the store never exposes full originals.
Every screen must work on both phone and computer.
The admin section opens only for an authenticated admin.
08 · Summary
Six deliverables, plus the end-to-end flow they need to support.