This is a platform where users upload their clothes and the system suggests outfits based on the user's preferences.
We provide a web interface and native mobile and desktops apps.
- Multiplatform: Web, Android, iOS, Windows, Linux, and macOS.
- Fast: The API is built with Rust and the frontend with Astro/Svelte.
- Secure: Passwords are hashed with Argon2.
You will need the following items installed run this project:
- Docker (optional, to run the application in containers)
- Git
- Postman (optional, to conduct API tests)
- Python - to run the build system and the machine learning model
- Rust - to build the backend
- bun - Fast JS runtime/bundler
- PostgreSQL - Database
- uv - Modern Python package manager
- cargo-watch- Reload backend dev server on changes
- upx - Compress the app binary
- tauri-cli- Build the multiplatform native app
git clone https://github.com/lucascompython/PDSDI-TP
cd PDSDI-TP# Run production mode
docker compose up
# Run development mode
docker compose -f docker-compose-dev.yml up./make.py --helpThe API can be tested using tools like Postman. All routes and request details are documented in the API.md file. Additionally, you can import the Postman collection file included in the repository to facilitate testing.
The API Docker image is available at: Docker Hub:
docker pull l33tlsl/clothe_match_backend- API.md: Detailed documentation of the API routes.
- docker-compose.yml / docker-compose-dev.yml: Configuration to run the application in Docker containers.
- Resources/: Additional resources for the project:
- Reports
- Presentations
- Postman Collection
- Test Data
- Database Model
- Mockups
- app/: Source code of the application.
- frontend/: Source code of the frontend.
- backend/: Source code of the backend.
- model/: Source code of the machine learning model.
- cbf/: Source code of the CBF (Custom Binary Format) algorithm.
- make.py: Main script of the custom build system for the project.
In the development of this project, we conducted some studies and experiments that resulted in other repositories and open source contributions:
- argon2-bench-rust - Study on the performance of different password hashing algorithms in Rust.
- parking_lot_vs_std - Study on the performance of different synchronization primitives in Rust.
- argon2-kdf - Fastest Argon2 implementation in Rust, that we contributed to.
This project is under the GNU General Public License v3.0. See the LICENSE file for more details.
- Curricular Units: Serviços Distribuídos, Projeto de Sistemas de Informação
- Professor: Wenderson Wanzeller, Estrela Cruz
- Authors: Lucas de Linhares; Guilherme Sousa
- Ano Letivo: 2024/2025
- University: Instituto Politécnico de Viana do Castelo