জুলাই স্মৃতি আর্কাইভ
JULY SMRITI ARCHIVE
Frontend System & Full Project Presentation
A privacy-first documentary platform preserving memory, protecting people, and verifying records before publication — built with a strict separation between public archive content and private, protected source material.
Team ASTROX
Documentation Date 30 Jul 2026
React 18 · CRA
Presented by Team Astrox · Sombit Majumdar · Zishan Rezwan · Takwa Jahin Feeza
Preserve memory. Protect people. Verify before publishing.
JULY SMRITI ARCHIVE · ASTROX
01
OUR TEAM
Team Astrox
2
SM
Sombit Majumdar
Team Member
Astrox
ZR
Zishan Rezwan
Team Member
Astrox
TJ
Takwa Jahin Feeza
Team Member
Astrox
Team Astrox designed and built the July Smriti Archive frontend end-to-end — information architecture, role-based navigation, contribution and support workflows, the administrator workspace, and the bilingual, privacy-first design system documented in this presentation.
JULY SMRITI ARCHIVE · ASTROX
02
Team
ACCESS SETUP
Initial Administrator Account
3
The following administrator account should be created first, during initial setup / database seeding, so the admin workspace is reachable immediately after deployment.
A
ROLE: ADMIN
admin@gmail.com
Password
12345678
Assign this account role = ADMIN in the database, or create it via sign-up and promote the role from All Users.
Security note for production
JULY SMRITI ARCHIVE · ASTROX
03
Admin Access
BRAND IDENTITY
Logo, Typography & Color System
4
JULY SMRITI ARCHIVE
Framed archive-book mark — preservation, testimony, remembrance
Typography
Visual motif
Color Palette
Ink 950
#080A11
Primary documentary bg
Ink 900
#0F121C
Secondary surfaces
Archive Amber
#D79A54
Primary action & emphasis
Archive Copper
#B96F45
Warm secondary emphasis
Archive Rose
#B96776
Memorial / sensitive story
Archive Teal
#4B9B8D
Trust, return, verification
Archive Paper
#F4F1EA
Primary text / light surface
JULY SMRITI ARCHIVE · ASTROX
04
Brand Identity
ROADMAP OF THIS DECK
Presentation Contents
5
01
Project overview & vision
02
Roles & information architecture
03
Design system & authentication
04
Public website — every page
05
Evidence contribution workflow
06
Private support workflow
07
Missing-person workflow & maps
08
User account workspace
09
Administrator workspace — every queue
10
Language, offline state & API layer
11
Privacy, security & installation
12
Deployment, QA & roadmap
JULY SMRITI ARCHIVE · ASTROX
05
Agenda
01 · PROJECT OVERVIEW
Executive Overview
6
July Smriti Archive is a documentary and crisis-support frontend built around a strict separation between public information and private source material. It presents a cinematic public archive, a source-attributed chronology, static historical stories, protected evidence contribution, private support rooms, verified missing-person records and a backend-connected administrator workspace.
2
Roles
34
App Routes
47
API Ops
3
Offline Drafts
Core value proposition
CENTRAL RULE
Submission, verification and approval are not the same as publication.
The public archive receives a separate, reviewed derivative record. The private original always remains protected in non-public storage.
JULY SMRITI ARCHIVE · ASTROX
06
Overview
02 · ROLES
Who The Platform Serves
7
Audience | Needs | Relevant capabilities |
Public / authenticated visitor | Understand events, browse verified records | Home, archive, timeline, stories, voices, support info, public missing-person directory |
Contributor (USER) | Submit records while retaining privacy control | Mixed evidence form, local drafts, status tracking, profile preferences |
Support requester (USER) | Request help and communicate safely | Private support request, Support Room, protected attachments |
Reporter (USER) | Report a missing person or sighting | Private report, map pin, future-date validation, report tracking |
Administrator (ADMIN) | Verify, protect, communicate and publish | Review queues, private file previews, case messaging, verification, publication, roles |
Role behavior
JULY SMRITI ARCHIVE · ASTROX
07
Roles
02 · NAVIGATION
Information Architecture
8
Desktop navigation groups
Mobile & admin navigation
Route governance
JULY SMRITI ARCHIVE · ASTROX
08
Navigation
03 · DESIGN SYSTEM
Visual Language & Responsive Behavior
9
Visual system
Responsive behavior
Accessibility & interaction quality
JULY SMRITI ARCHIVE · ASTROX
09
Design System
03 · AUTHENTICATION
Session Lifecycle & Route Protection
10
1
App.js requests /api/user-details with credentials included at startup
2
Response is normalised and stored in the Redux user slice
3
RootRedirect chooses /login, /home or /admin-panel
4
GuestRoute prevents signed-in users from reopening auth pages
5
ProtectedRoute redirects guests, retains the requested location, checks allowedRoles
6
Logout calls the backend when possible, clears Redux, returns to /login
Feature | Implementation notes |
Sign up | Name, email, password confirmation and profile-image handling; creates a normal USER account |
Sign in | Connected backend request, cookie session and role-aware redirect |
Forgot / reset password | Submits recovery email; validates token route parameter and sets a new password |
Current user / profile | Authoritative role & identity from the server; updates merge into Redux session state |
SECURITY BOUNDARY: A hidden button or blocked frontend route does not protect data — every endpoint must independently verify authentication, role and record ownership.
JULY SMRITI ARCHIVE · ASTROX
10
Authentication
04 · PUBLIC WEBSITE
Homepage & Public Archive
11
Homepage sequence
Public archive behavior
JULY SMRITI ARCHIVE · ASTROX
11
Public Website
04 · PUBLIC WEBSITE
Feature: Movement Timeline
12
43
Chronology entries
Interaction features
Editorial methodology
[ Screenshot placeholder — Timeline page to be inserted here ]
JULY SMRITI ARCHIVE · ASTROX
12
Public Website
04 · PUBLIC WEBSITE
Feature: Stories & Aynaghor
13
Movement summary & Hero Stories
Aynaghor section
JULY SMRITI ARCHIVE · ASTROX
13
Public Website
04 · PUBLIC WEBSITE
Feature: Voices of July & About
14
Voices of July
About page
JULY SMRITI ARCHIVE · ASTROX
14
Public Website
05 · EVIDENCE CONTRIBUTION
Four-Stage Submission Form
15
1
Your record
Title, detected content, summary, story/testimony, files. Title ≥4 chars, summary ≥20, story ≥30 when used.
2
Source / context
Event date, approximate location, source type, private source notes. Date & location required.
3
Identity / publication
Anonymous / pseudonym / public identity; permissions; visibility; protection controls.
4
Confirm & send
Review, consent, accuracy and privacy confirmation — all three required.
Category | Formats / behavior |
Written material | Public-safe summary and optional long-form testimony; text-only records supported |
Images | JPEG, PNG, GIF, WEBP, AVIF, HEIC |
Video / Audio | MP4, MOV, WEBM, MKV, AVI · MP3, WAV, M4A, OGG, AAC |
Documents | PDF, DOC, DOCX, ODT, RTF, TXT |
20
Max files
1 GB
Total size
250 MB per file · multi-select, drag/drop, duplicate detection, preview & removal
JULY SMRITI ARCHIVE · ASTROX
15
Evidence Contribution
05 · EVIDENCE CONTRIBUTION
Privacy Controls & Submission Lifecycle
16
Contributor privacy controls
SUBMISSION LIFECYCLE
1. Form validates locally; creates multipart FormData
2. Files appended repeatedly under field name files
3. Privacy controls & detected content types serialised as JSON
4. Backend stores private originals and returns an ID
5. Local status set to "Pending admin review"
6. Administrator reviews source, privacy and consent
7. Approved derivative published, or record stays private
PUBLICATION BEHAVIOR: Submission never means automatic publication. Administrators review source context and requested privacy processing before any public derivative is released.
JULY SMRITI ARCHIVE · ASTROX
16
Evidence Contribution
06 · SUPPORT WORKFLOW
Private Support Request & Room
17
Field group | Options / behavior |
Requester | Name and relationship: self, family, guardian or authorised representative |
Category | Medical treatment, medicine, rehabilitation or legal support |
Urgency | Stable, needs attention, urgent or critical |
Context | Approximate location, optional hospital/clinic, concise need and safe contact |
Documents | Images or PDF only — up to 6 files, up to 10 MB each |
Consent | Private handling consent required; users are warned against uploading national ID or unrelated records |
Support Room behavior
JULY SMRITI ARCHIVE · ASTROX
17
Support Workflow
06 · SUPPORT WORKFLOW
Administrator Support Handling
18
1
Open case queue, filter by urgency/status
2
Review requester context and private contact
3
Preview only protected files returned by the backend
4
Reply within the same case conversation
5
Request only minimum necessary medical documentation
6
Verify or reject each document with an accountable result
7
Keep documents & conversations outside the public archive
Delivery & privacy
JULY SMRITI ARCHIVE · ASTROX
18
Support Workflow
07 · MISSING-PERSON WORKFLOW
Public Directory & Private Report
19
Public directory
Private missing-person report
Possible sighting
JULY SMRITI ARCHIVE · ASTROX
19
Missing-Person Workflow
07 · MISSING-PERSON WORKFLOW
Map Modes & Administrator Verification
20
Mode | Result |
API key configured | Interactive Google map, address search, click-to-pin and device geolocation |
No API key, location exists | Embedded/linked Google Maps preview |
No location | Instructional empty state |
COORDINATE SAFETY: A fixed edge case ensures blank values never become 0,0. The backend must still validate numeric ranges and control coordinate visibility.
Administrator verification
JULY SMRITI ARCHIVE · ASTROX
20
Missing-Person Workflow
08 · USER WORKSPACE
User Account Workspace
21
Page | Capabilities |
Dashboard | Welcome, summary cards, quick actions, recent submissions and recent support rooms |
My submissions | Merges local and backend records; filter by review status |
Support rooms | List, priority/status, updated time and unread indicators; periodic refresh |
Room detail | Conversation, attachment preview/upload and case status |
My reports | Track missing-person reports and possible sightings |
Saved drafts | Continue or delete local evidence/support/missing drafts; attachments must be reselected |
Profile | Name, email, private phone, interface language and default contributor identity |
OWNERSHIP: A USER can access only their own private records — ownership checks are enforced by the backend, never inferred from route parameters. /wallets redirects to /account; no separate wallet product is exposed.
JULY SMRITI ARCHIVE · ASTROX
21
User Workspace
09 · ADMIN WORKSPACE
Administrator Workspace Overview
22
Purpose-built queues instead of one generic dashboard — evidence, support, missing persons, publication and users each get a dedicated, accountable review flow.
Dashboard
Stats, recent activity & queue counts from /api/admin/dashboard
Submission Review
Search, filter, protected preview & decisions
Support Cases
Prioritise, message, verify documents
Missing Reports
Normalise shapes, private detail, status changes
Archive Manager
Publish/unpublish redacted derivatives
Users & Settings
Roles, access removal, local preferences
Empty backend data remains empty rather than being replaced with fabricated admin records.
JULY SMRITI ARCHIVE · ASTROX
22
Admin Workspace
09 · ADMIN WORKSPACE
Feature: Submission Review
23
Review queue
Decision actions
JULY SMRITI ARCHIVE · ASTROX
23
Admin Workspace
09 · ADMIN WORKSPACE
Feature: Support Cases & Missing Reports
24
Support cases
Missing reports
JULY SMRITI ARCHIVE · ASTROX
24
Admin Workspace
09 · ADMIN WORKSPACE
Feature: Archive Manager, Users & Settings
25
Archive manager
Users & settings
JULY SMRITI ARCHIVE · ASTROX
25
Admin Workspace
09 · ADMIN WORKSPACE
Administrator Decision Model
26
Workflow | Typical states | Decision expectation |
Evidence | Pending → Source checked → Approved / Rejected / Info requested → Published derivative | Apply privacy processing before publication |
Support | Submitted → Under review → Awaiting info → Resolved → Closed | Protect medical and contact information |
Missing report | Draft → Submitted → Verified → Published → Resolved / Rejected | Require notes for rejection or information request |
Sighting | Pending → Verified / Rejected | Never expose unreviewed reports publicly |
Archive | Approved private record → Public derivative → Published / Unpublished / Corrected | Preserve correction and audit context |
ACCOUNTABILITY: Every sensitive administrator action should record actor, time, decision, reason and affected record in a server-side audit log.
JULY SMRITI ARCHIVE · ASTROX
26
Admin Workspace
10 · LANGUAGE & OFFLINE
English / Bangla Language System
27
LanguageContext
Google Website Translator
OPERATIONAL DEPENDENCY: Full-page automatic translation depends on an external script, network access, cookies and CSP permissions. Critical legal/privacy copy keeps maintained local Bangla text.
JULY SMRITI ARCHIVE · ASTROX
27
Language System
10 · LANGUAGE & OFFLINE
Offline & Browser-Local State
28
Local key | Stored information |
julySmritiLanguage | Selected interface language |
julySmritiDrafts | Evidence, support and missing-report form values plus file names/metadata |
julySmritiSubmissions / SupportRooms / RoomMessages | Immediate local record of newly created submissions, rooms and messages |
julySmritiMissingReports / Sightings | Immediate local report and sighting records |
julySmritiAdminSettings | Browser-local administrator preferences |
Offline workflow
JULY SMRITI ARCHIVE · ASTROX
28
Offline State
11 · ARCHITECTURE
Technology & Data Architecture
29
Layer | Technology | Responsibility |
Client | React 18, React Router, Redux Toolkit | Routes, interface state, forms, protected navigation |
Styling | Tailwind CSS, Framer Motion | Responsive design, reusable visual system, motion |
API | Node.js, Express | Authentication, validation, role checks, workflows |
Database | MongoDB | Users, submissions, cases, messages, reports, sightings, decisions |
Media | Cloudinary | Uploaded media and controlled delivery |
Maps | Google Maps JavaScript API | Search, pins, previews and device location |
Translation | Local dictionary + Google Website Translator | English/Bangla experience |
Request behavior
JULY SMRITI ARCHIVE · ASTROX
29
Architecture
11 · ARCHITECTURE
API Surface — 47 Operations
30
Area | Representative endpoints |
Authentication | signup · signin · user-details · logout · forgot-password · reset-password |
Archive | public list/detail · admin queue · publish/unpublish |
Submissions | create · mine · detail · admin review |
Support | create request · list rooms · room messages · admin case detail · document verification |
Missing persons | public list/detail · create report · mine · sightings · admin queue · status/assignment |
Users | list · search · update role/profile · remove access |
API CONTRACT: Protected routes require authenticated cookies, exact-origin CORS with credentials, authoritative role checks, ownership checks, server-side file validation, and privacy-safe response shaping.
JULY SMRITI ARCHIVE · ASTROX
30
API Surface
11 · ARCHITECTURE
Privacy, Security & Editorial Safety
31
Protective controls
EDITORIAL DISTINCTION
A source-attributed record documents what was reported or said.
It does not automatically establish a court finding, nor prove that every group member shared every statement. Political and historical records retain source, context, uncertainty and correction notes throughout the archive.
Central rule reiterated: only reviewed public derivatives are published; private originals stay protected.
JULY SMRITI ARCHIVE · ASTROX
31
Privacy & Security
12 · SETUP & DEPLOYMENT
Installation & Configuration
32
FRONTEND
cd frontend
npm install
cp .env.example .env
npm start
BACKEND
cd backend
npm install
# configure service environment
npm run dev
Variable | Purpose |
REACT_APP_BACKEND_URL | Base URL of the connected backend (default http://localhost:8080) |
REACT_APP_CLOUD_NAME_CLOUDINARY | Reserved for Cloudinary-related client configuration |
REACT_APP_GOOGLE_MAPS_API_KEY | Enables interactive click-to-pin maps; restrict by domain and API |
REACT_APP_DEMO_FALLBACK | Optional UI fallback — keep false in production |
CORS & cookies: allow the exact frontend origin (not a wildcard) with credentials · use httpOnly cookies · match SameSite/Secure to topology · verify /api/user-details.
JULY SMRITI ARCHIVE · ASTROX
32
Installation
12 · SETUP & DEPLOYMENT
Validation, Deployment & Operations
33
Quality checks
Deployment
ROADMAP — RECOMMENDED NEXT PHASES
Backend schemas & audit logging · Server-driven pagination & search · Notifications for reviews & messages · Offline sync with defined encryption/conflict rules · Expanded maintained Bangla copy · Automated role/privacy tests · Editorial CMS workflow · Privacy-respecting analytics
JULY SMRITI ARCHIVE · ASTROX
33
Deployment
APPENDIX
Feature Status & Screenshot Plan
34
Area | Demonstration screenshot |
Public | Home, Archive, Timeline, Stories, Voices, About |
Contribution | Evidence form stages and privacy controls |
Support | Support landing, new request, room list, room conversation |
Missing persons | Directory, profile, report form, map selection, sighting |
USER | Dashboard, submissions, reports, drafts, profile |
ADMIN | Dashboard, submissions, support cases, missing reports, archive manager, users, settings |
Screenshot placement plan
JULY SMRITI ARCHIVE · ASTROX
34
Appendix
জুলাই স্মৃতি আর্কাইভ
Preserve memory. Protect people.
Verify before publishing.
Thank you
Team Astrox · Sombit Majumdar · Zishan Rezwan · Takwa Jahin Feeza
JULY SMRITI ARCHIVE · COMPLETE PROJECT DOCUMENTATION