Welcome to the world’s first ever all-in-one wardrobe management solution
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
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.
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
- 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.
- Clone the repository:
git clone https://github.com/m-GDEV/WardrobeManager
- Open solution in IDE of your choice
- Make sure you have npm and nodejs installed and that they are in your PATH
- Run both projects with 'dotnet watch' launch profile
- 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!
- Fork the Project on Github
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request on Github
Distributed under the GPL 3.0 License. See LICENSE.txt
for more information.
Musa Ahmed - [email protected]
Project Link: https://github.com/m-GDEV/WardrobeManager