Skip to content

Latest commit

Β 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•”β•β•β•β•β•β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β•šβ•β•β–ˆβ–ˆβ•”β•β•β•
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•‘    β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘   
β•šβ•β•β•β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘     β•šβ–ˆβ–ˆβ•”β•  β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β•  β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘   
β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘      β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘   
β•šβ•β•β•β•β•β•β•   β•šβ•β•      β•šβ•β•   β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•β•  β•šβ•β•β•β•  β•šβ•β•  β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•β•β•šβ•β•   

Your wardrobe. Curated. Digitized. Elevated.


React Vite Node.js Express Supabase

License PRs Welcome Status Made with ❀️


πŸš€ Live Demo Β· πŸ› Report Bug Β· ✨ Request Feature



🌟 What is StyleVault?

Ever stood in front of your wardrobe thinking "I have nothing to wear" β€” with a closet full of clothes?

StyleVault solves that. It's a full-stack wardrobe management app that lets you digitize every clothing item you own, create outfit combinations, and finally take control of your personal style.


β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                                             β”‚
β”‚   πŸ“· Upload    β†’    πŸ‘— Organize    β†’    ✨ Style            β”‚
β”‚                                                             β”‚
β”‚   Snap your       Tag by type,        Mix & match          β”‚
β”‚   clothes         color & season      saved outfits         β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜


✨ Features

Feature Description
πŸ“· Photo Upload Upload images of every clothing item in your wardrobe
πŸ—‚οΈ Smart Organization Categorize by type, color, season, and occasion
πŸ‘— Outfit Builder Mix and match items to create and save complete outfits
πŸ” Secure Auth JWT-powered authentication via Supabase
☁️ Cloud Storage All images and data stored securely in the cloud
πŸ“± Responsive Design Looks stunning on desktop, tablet, and mobile
⚑ Blazing Fast Built with Vite for lightning-quick load times


πŸ› οΈ Tech Stack

╔══════════════════╦═══════════════════════════════════════╗
β•‘    LAYER         β•‘    TECHNOLOGY                         β•‘
╠══════════════════╬═══════════════════════════════════════╣
β•‘  🎨 Frontend     β•‘  React 18 + Vite                      β•‘
β•‘  βš™οΈ  Backend      β•‘  Node.js + Express                    β•‘
β•‘  πŸ—„οΈ  Database     β•‘  Supabase (PostgreSQL)                β•‘
β•‘  πŸ” Auth         β•‘  Supabase Auth + JWT Middleware        β•‘
β•‘  πŸ–ΌοΈ  File Upload  β•‘  Multer + Supabase Storage            β•‘
β•‘  🧹 Linting      β•‘  ESLint                               β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•©β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•


πŸ“ Project Structure

πŸ‘— stylevault/
β”‚
β”œβ”€β”€ πŸ–₯️  backend/
β”‚   └── src/
β”‚       β”œβ”€β”€ πŸ”’ middleware/
β”‚       β”‚   └── auth.js           ← JWT token verification
β”‚       β”œβ”€β”€ πŸ›£οΈ  routes/
β”‚       β”‚   β”œβ”€β”€ auth.js           ← Register, login, session
β”‚       β”‚   β”œβ”€β”€ outfits.js        ← Create & manage outfits
β”‚       β”‚   β”œβ”€β”€ upload.js         ← Image upload handler
β”‚       β”‚   └── wardrobe.js       ← Clothing item CRUD
β”‚       β”œβ”€β”€ index.js              ← Express entry point
β”‚       └── supabase.js           ← Supabase client setup
β”‚   β”œβ”€β”€ .env.example              ← Environment variable template
β”‚   β”œβ”€β”€ schema.sql                ← Full database schema
β”‚   └── package.json
β”‚
β”œβ”€β”€ 🎨 frontend/
β”‚   β”œβ”€β”€ src/                      ← React components & pages
β”‚   β”œβ”€β”€ public/
β”‚   β”‚   β”œβ”€β”€ favicon.svg
β”‚   β”‚   └── icons.svg
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ vite.config.js
β”‚   └── package.json
β”‚
β”œβ”€β”€ πŸ“„ DEPLOY.md                  ← Deployment guide
β”œβ”€β”€ πŸ“„ README.md                  ← You are here!
└── πŸ”§ eslint.config.js


πŸš€ Quick Start

Prerequisites

Before you begin, make sure you have:

  • Node installed
  • A Supabase account (free tier works great!)
  • npm or Yarn

Step 1 β€” Clone the repo

git clone https://github.com/your-username/stylevault.git
cd stylevault

Step 2 β€” Set up the database

  1. Open your Supabase Dashboard
  2. Go to SQL Editor
  3. Paste and run the contents of backend/schema.sql

πŸ’‘ This creates all required tables: wardrobe_items, outfits, and more.

Step 3 β€” Configure environment variables

cd backend
cp .env.example .env

Fill in your .env:

# Server
PORT=5000

# Supabase
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key-here
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key-here

# Auth
JWT_SECRET=your-super-secret-jwt-key

⚠️ Never push your .env to GitHub. It's already in .gitignore.

Step 4 β€” Start the backend

cd backend
npm install
npm run dev
# 🟒 Running on http://localhost:5000

Step 5 β€” Start the frontend

cd frontend
npm install
npm run dev
# 🎨 Running on http://localhost:5173

That's it! Open http://localhost:5173 and start styling. πŸŽ‰



πŸ”Œ API Reference

πŸ” Authentication /api/auth

POST   /api/auth/register    β†’  Create a new account
POST   /api/auth/login       β†’  Login & get JWT token
GET    /api/auth/me          β†’  Get current user profile

πŸ‘• Wardrobe /api/wardrobe

GET    /api/wardrobe         β†’  Fetch all clothing items
POST   /api/wardrobe         β†’  Add a new item
PUT    /api/wardrobe/:id     β†’  Update an item
DELETE /api/wardrobe/:id     β†’  Remove an item

πŸ‘— Outfits /api/outfits

GET    /api/outfits          β†’  Fetch all saved outfits
POST   /api/outfits          β†’  Create a new outfit
PUT    /api/outfits/:id      β†’  Update an outfit
DELETE /api/outfits/:id      β†’  Delete an outfit

πŸ“· Upload /api/upload

POST   /api/upload           β†’  Upload a clothing image

πŸ”‘ All routes except /auth/register and /auth/login require:

Authorization: Bearer <your_jwt_token>


πŸ“œ Available Scripts

Backend

npm run dev      # πŸ”„ Start with hot-reload (nodemon)
npm start        # πŸš€ Start in production mode

Frontend

npm run dev      # ⚑ Start Vite dev server
npm run build    # πŸ“¦ Build for production
npm run preview  # πŸ‘€ Preview production build
npm run lint     # 🧹 Run ESLint checks


🌐 Deployment

Full deployment instructions are in DEPLOY.md, including:

  • πŸš‚ Backend β†’ Railway / Render / Fly.io
  • β–² Frontend β†’ Vercel / Netlify
  • πŸ”§ Environment β†’ Production env variables setup
  • πŸͺ£ Storage β†’ Supabase Storage bucket configuration


🀝 Contributing

Contributions are what make the open source community amazing. Any contributions you make are greatly appreciated!

1. 🍴  Fork the project
2. 🌿  Create your branch   β†’  git checkout -b feature/AmazingFeature
3. πŸ’Ύ  Commit your changes  β†’  git commit -m 'Add: some AmazingFeature'
4. πŸ“€  Push to the branch   β†’  git push origin feature/AmazingFeature
5. πŸ”  Open a Pull Request


πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.



Built with passion for fashion & clean code πŸ‘—βš‘

If you found this useful, please consider giving it a ⭐


GitHub stars GitHub forks

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages