Skip to content

BernieTv/FileStorage-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Project Banner

🌟 FileStorage Platform

A next‑gen cloud storage solution where speed, security, and simplicity collide. πŸš€ Built with the MERN Stack, this platform lets you upload, manage, and share files effortlessly while packing in serious power with AWS S3, JWT auth, analytics, and a slick modern UI. Perfect for devs, teams, or anyone who vibes with secure & scalable file management.


πŸ—οΈ Key Features: πŸ‘‡

  • πŸ” Authentication (Email + Password with JWT)
  • πŸ“Š Analytics & Charts for Storage Insights
  • πŸ“€ Multiple File Uploads
  • ☁️ AWS S3 Integration for Secure & Scalable Storage
  • πŸ’Ύ Storage Tracking for Each User
  • πŸ“š Bulk File Download as Zip
  • πŸ“¦ TypeScript SDK Published to npm
  • πŸ”‘ API Key Authentication for Secure Access
  • πŸ“… Pagination & File Search
  • πŸ“ Logging with Logtail
  • πŸš€ Deployment Ready
  • 🌐 Built with MERN Stack (Node.js, MongoDB, React 19)
  • 🎨 Styled with Tailwind v4 & Shadcn/ui

πŸ› οΈ Tech Stack

  • Frontend: React 19, TypeScript, TailwindCSS v4, Shadcn/ui, Vite
  • Backend: Node.js, Express.js, TypeScript, MongoDB, JWT, Passport.js
  • Cloud & Storage: AWS S3
  • Logging & Monitoring: Logtail
  • State Management: Redux Toolkit
  • Package Management: npm

πŸ“‚ Simplified Project Structure

.
β”œβ”€β”€ backend         # Node.js + Express API
β”‚   β”œβ”€β”€ src
β”‚   β”‚   β”œβ”€β”€ config       # Configurations (DB, AWS, JWT, etc.)
β”‚   β”‚   β”œβ”€β”€ controllers  # API Controllers
β”‚   β”‚   β”œβ”€β”€ middlewares  # Authentication & Error Handling
β”‚   β”‚   β”œβ”€β”€ models       # MongoDB Models
β”‚   β”‚   β”œβ”€β”€ routes       # API Routes (Internal & Public)
β”‚   β”‚   β”œβ”€β”€ services     # Business Logic
β”‚   β”‚   β”œβ”€β”€ utils        # Helper Functions
β”‚   β”‚   └── validators   # Request Validators
β”‚   └── tsconfig.json
β”‚
β”œβ”€β”€ client          # React Frontend
β”‚   β”œβ”€β”€ src
β”‚   β”‚   β”œβ”€β”€ app          # Redux & API Client
β”‚   β”‚   β”œβ”€β”€ components   # UI Components
β”‚   β”‚   β”œβ”€β”€ features     # Feature Modules (Auth, Files, Analytics)
β”‚   β”‚   β”œβ”€β”€ layouts      # Page Layouts
β”‚   β”‚   β”œβ”€β”€ pages        # Page-Level Components
β”‚   β”‚   β”œβ”€β”€ routes       # Routing Config
β”‚   β”‚   └── hooks        # Custom Hooks
β”‚   └── vite.config.ts
β”‚
β”œβ”€β”€ sdk             # TypeScript SDK Published to npm
β”œβ”€β”€ README.md       # Documentation

βš™οΈ Environment Variables

Backend (.env)

PORT=5000
NODE_ENV=development
MONGO_URI=your_mongo_connection_string
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN=1d
LOG_LEVEL=info
LOGTAIL_SOURCE_TOKEN=your_logtail_token
LOGTAIL_INGESTING_HOST=your_logtail_host
AWS_ACCESS_KEY=your_aws_key
AWS_SECRET_KEY=your_aws_secret
AWS_REGION=your_aws_region
AWS_S3_BUCKET=your_bucket_name
ALLOWED_ORIGINS=http://localhost:5173

Frontend (.env)

VITE_BASE_API_URL=http://localhost:5000/api
VITE_API_URL=http://localhost:5000
VITE_REDUX_PERSIST_SECRET_KEY=your_secret_key

πŸš€ Installation & Setup

Clone the repository:

git clone https://github.com/BernieTv/FileStorage-Platform.git
cd FileStorage-Platform

Backend Setup

cd backend
npm install
npm run dev

Frontend Setup

cd client
npm install
npm run dev

πŸ’‘ Designed for builders and creators, this platform turns file storage into a smooth, secure, and scalable experience ✨.

About

A sleek, secure, and scalable file storage platform powered by the MERN stack with AWS S3, JWT auth, and a modern UI for effortless uploads, downloads, and analytics πŸš€πŸ“¦πŸ”πŸ“Š

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages