Skip to content
 
 

Latest commit

 

History

236 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation


OutFitMe is a full-stack wardrobe management application that generates weather-appropriate outfits using clothing uploaded by each individual user.

Users can create an account, upload clothing items, generate weather-appropriate outfits, save favourite combinations, and manage their personal wardrobe. Each user's wardrobe is stored independently, ensuring complete separation of wardrobe data between user accounts.

Table of Contents
  1. Built With
  2. Screenshots
  3. Features
  4. Project Structure
  5. Getting Started
  6. License

Built With

React.js TypeScript Express.js MongoDB Redux Vite Vitest Jest JWT Cloudinary-Badge

Screenshots

OutFitMe preview

Features

  • User authentication with JWT
  • Secure password hashing using bcrypt
  • Upload wardrobe items
  • Weather-based outfit generation
  • Favourite outfit management
  • User-specific wardrobes
  • Responsive mobile-first design
  • Profile management
  • Secure user-specific wardrobe storage
  • Image zoom
  • Toast notifications
  • Loading and error states
  • Unit and integration testing

Project Structure

client/
├── components/
├── hooks/
├── pages/
├── services/
├── store/
├── tests/
└── types/

server/
├── controllers/
├── middleware/
├── models/
├── routes/
├── tests/
├── utils/
└── validation/

Getting Started

To run OutFitMe locally, you'll need accounts for the following services:

  • OpenWeather API
  • Cloudinary
  • MongoDB Atlas

Prerequisites

  • Install the latest version of npm.

    npm install -g npm
  • Create free accounts for:

    • OpenWeatherMap API :

      • Once logged in, locate your username drop down in the navbar, and navigate to "My API Keys" and obtain an API key.
    • Cloudinary API :

      • Create an unsigned upload preset and note your Cloud Name, Upload Preset and Folder Name.
    • MongoDB Database:

      • Create a cluster and copy your MongoDB connection string.

Installation

  1. Clone the repository.

    git clone https://github.com/Sind96/OutFitMe.git
  2. Install the frontend dependencies.

    cd client
    npm install
  3. Install the backend dependencies.

    cd ../server
    npm install

Create your own .env file and insert the API Keys as mentioned in (Prerequisites)

  1. Copy the example environment files.

    Backend
    cp .env.example .env
    Frontend
    cd ../client
    cp .env.local.example .env.local
  2. Populate both environment files with your own credentials.

  3. Start the backend.

    cd ../server
    npm run dev
  4. Start the frontend.

    cd ../client
    npm run dev

License

Distributed under the MIT License. See license.txt for more information.

(back to top)

About

Digital closet - outfit generator

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages