Skip to content

Latest commit

 

History

History
251 lines (176 loc) · 9.97 KB

README.md

File metadata and controls

251 lines (176 loc) · 9.97 KB

GitHub commit activity Contributors Forks GitHub Repo stars Issues MIT License Website

GitHub Actions Workflow Status GitHub Actions Workflow Status

Docker Image Size Docker Image Size


Logo

WardrobeManager

Welcome to the world’s first ever all-in-one wardrobe management solution
Explore the docs »

View Demo · Report Bug · Request Feature

Links

About The Project

Wardrobe Manager simplifies clothing organization and outfit planning. Add and manage clothing items with images, track wear frequency, and specify preferred combinations. Set wash schedules, mark favorites, and filter by season. This fully open-source application helps optimize wardrobe choices and plan outfits effortlessly. Easily self-hostable, Wardrobe Manager puts you in control of your clothing data and helps you build the perfect look, every time.

(back to top)

Demo Video

Built With

(back to top)

Installation

Docker

To deploy this application yourself (self-hosted) you can use docker compose with an environment file to configure the app.

docker-compose.yml (this is likely out of date, check here for the most up to date version):

services:
  wardrobe-manager-api:
    image: tmclncy/wardrobemanager-api:latest
    container_name: wardrobe-manager-api
    env_file:
      ./docker/config.env # change this to the right location
    ports:
      - "9000:8080"
    volumes:
      - ./data:/data # you may use a local bind-mount or an actual docker volume

  wardrobe-manager-presentation:
    image: tmclncy/wardrobemanager-presentation:latest
    container_name: wardrobe-manager-presentation
    env_file:
      ./docker/config.env # change this to the right location
    ports:
      - "9001:80"

config.env (this is likely out of date, check here for the most up to date version)

# Wardrobe Manager Example Configuration File

# These settings will afffect the API and Presentation

# Url of WardrobeManager.Presentation
WM_FRONTEND_URL=https://localhost:9001

# Url of WardrobeManager.Api
WM_BACKEND_URL=https://localhost:9000

# Maximum image upload size 
WM_MAX_IMAGE_UPLOAD_SIZE_IN_MB=5

# Persistent storage location (do not change if running in docker, change docker volume mount instead)
WM_DATA_DIRECTORY=/data

# Not prefix with 'WM_' as Blazor WASM applications do not have server logs 
# https://learn.microsoft.com/en-us/aspnet/core/fundamentals/logging
# Allowed Levels: Trace, Debug, Information, Warning, Error, Critical, None
Logging__LogLevel__Default=Information

Example setup guide (on UNIX based systems):

# Make new directory & go into it:
cd ~
mkdir wardrobe-manager
cd wardrobe-manager

# Download docker-compose.yml:
curl -LO https://raw.githubusercontent.com/m-GDEV/WardrobeManager/master/docker-compose.yml

# Download config.env:
curl -LO https://raw.githubusercontent.com/m-GDEV/WardrobeManager/master/docker/config.env

# Modify docker-compose.yml & config.env as appropriate
vi docker-compose.yml
vi config.env

# Run application with docker compose
docker compose up -d

(back to top)

Roadmap

  • Add, view, edit, and delete clothing items
  • Login with multiple user accounts
  • Customize UI using over 20+ different themes
  • Advanced filtering & searching of clothing items
  • Ability to deploy application with Docker Compose (update readme)
  • Use native authentication, do not rely on Auth0
  • Figure out how to sync client & server versions
  • Responsive UI
  • Write tests
  • Outfits
    • Create "outfits", collection of multiple clothing items
    • Generate outfits dynamically
    • Group outfits together by colour theme (neutral, vibrant, etc)
    • Dynamically generate outfits based on color theme (neutral, vibrant, etc)
  • Generate thumbnails & use them
  • Image processing
    • Use image processing to detect most common color in image of clothing item
    • Use image processing to "magically" remove backound of uploaded images
  • Maybe: user management & admin dashboard

See the open projects for a full list of proposed features & a more detailed roadmap.

(back to top)

Contributing

Development Environment

  1. Clone the repository: git clone https://github.com/m-GDEV/WardrobeManager
  2. Open solution in IDE of your choice
  3. Make sure you have npm and nodejs installed and that they are in your PATH
  4. Run both projects with 'dotnet watch' launch profile
  5. Profit

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project on Github
  2. Create your Feature 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 on Github

(back to top)

Top contributors:

contrib.rocks image

License

Distributed under the GPL 3.0 License. See LICENSE.txt for more information.

(back to top)

Contact

Musa Ahmed - [email protected]

Project Link: https://github.com/m-GDEV/WardrobeManager

(back to top)

Acknowledgments

(back to top)