-
-
Notifications
You must be signed in to change notification settings - Fork 615
Refactor README structure for improved readability and maintainability #1258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,53 +1,75 @@ | ||
| # PictoPy | ||
|
|
||
| PictoPy is an advanced desktop gallery application that combines the power of Tauri, React, and Rust for the frontend with a Python backend for sophisticated image analysis and management. | ||
|
|
||
| # Want to Contribute? 😄 | ||
| <!-- Don't delete it --> | ||
| <div name="readme-top"></div> | ||
|
|
||
| <p align="center"> | ||
| <img src="docs/assets/banner.png" alt="PictoPy Banner" width="100%"/> | ||
| </p> | ||
|
|
||
| <!-- Organization/Project Social Handles --> | ||
| <p align="center"> | ||
| <!-- Telegram --> | ||
| <a href="https://t.me/StabilityNexus"> | ||
| <img src="https://img.shields.io/badge/Telegram-black?style=flat&logo=telegram&logoColor=white&logoSize=auto&color=24A1DE" alt="Telegram Badge"/></a> | ||
| | ||
| <!-- X (formerly Twitter) --> | ||
| <a href="https://x.com/aossie_org"> | ||
| <img src="https://img.shields.io/twitter/follow/aossie_org" alt="X (formerly Twitter) Badge"/></a> | ||
| | ||
| <!-- Discord --> | ||
| <a href="https://discord.gg/hjUhu33uAn"> | ||
| <img src="https://img.shields.io/discord/1022871757289422898?style=flat&logo=discord&logoColor=white&logoSize=auto&label=Discord&labelColor=5865F2&color=57F287" alt="Discord Badge"/></a> | ||
| | ||
| <!-- Medium --> | ||
| <a href="https://news.stability.nexus/"> | ||
| <img src="https://img.shields.io/badge/Medium-black?style=flat&logo=medium&logoColor=black&logoSize=auto&color=white" alt="Medium Badge"></a> | ||
| | ||
| <!-- LinkedIn --> | ||
| <a href="https://www.linkedin.com/company/aossie/"> | ||
| <img src="https://img.shields.io/badge/LinkedIn-black?style=flat&logo=LinkedIn&logoColor=white&logoSize=auto&color=0A66C2" alt="LinkedIn Badge"></a> | ||
| | ||
| <!-- Youtube --> | ||
| <a href="https://www.youtube.com/@AOSSIE-Org"> | ||
| <img src="https://img.shields.io/youtube/channel/subscribers/UCKVVLbawY7Gej_3o2WKsoiA?style=flat&logo=youtube&logoColor=white%20&logoSize=auto&labelColor=FF0000&color=FF0000" alt="Youtube Badge"></a> | ||
| </p> | ||
|
|
||
| <a href="https://discord.gg/hjUhu33uAn"><img src="https://github.com/user-attachments/assets/3ed93273-5055-4532-a524-87a337a4fbba" height="40"></a> | ||
|
|
||
| 1. First, join the **[Discord Server](https://discord.gg/hjUhu33uAn) (Go to Projects->PictoPy)** to chat with everyone. | ||
| 2. For detailed setup instructions, coding guidelines, and the contribution process, please check out our [CONTRIBUTING.md](./CONTRIBUTING.md) file. | ||
| # PictoPy | ||
|
|
||
| # Architecture | ||
| **PictoPy is an open-source, privacy-first AI photo management application built for the desktop - featuring on-device face recognition, object detection, and smart search, with zero data leaving your machine.** | ||
|
|
||
| ### Frontend | ||
| PictoPy brings the intelligence of modern AI photo management to your local machine, without the privacy trade-offs of cloud-based alternatives. Built as a fully offline desktop application with Rust, React, and Python, PictoPy automatically groups faces across your library, tags photos with detected objects, and lets you search your pictures with simple words - all powered by state-of-the-art on-device models, without an internet connection or a subscription. | ||
|
|
||
| - **Tauri**: Enables building the desktop application | ||
| - **React**: Used for creating the user interface | ||
| - **Rust**: Powers the backend, which the frontend communicates with through Tauri's API | ||
| Find out more at [https://pictopy.aossie.org/](https://pictopy.aossie.org/). | ||
|
|
||
| ### Backend (Python) | ||
| ## Features | ||
|
|
||
| - **FastAPI**: Serves as the API framework | ||
| - **SQLite**: Database for storing metadata and embeddings | ||
| - **YOLO**: Used for object detection | ||
| - **FaceNet**: Generates face embeddings | ||
| - **ONNX Runtime**: Runs the models efficiently | ||
| - **DBSCAN**: Performs clustering for face embeddings | ||
| **AI-powered** | ||
| * Smart tagging based on detected faces and objects | ||
| * Advanced image analysis with object detection and facial recognition | ||
| * Smart search and retrieval | ||
|
|
||
| ### Backend (Rust via Tauri) | ||
| **Gallery management** | ||
| * Album management with traditional gallery features | ||
| * Cross-platform compatibility | ||
|
|
||
| Handles file system operations and provides a secure bridge between the frontend and local system. | ||
| **Privacy & performance** | ||
| * Privacy-focused design with fully offline functionality | ||
| * Efficient data handling and parallel processing | ||
|
|
||
| ## Features | ||
| ## Demonstration | ||
|
|
||
| - Smart tagging of photos based on detected objects, faces, and their recognition | ||
| - Traditional gallery features of album management | ||
| - Advanced image analysis with object detection and facial recognition | ||
| - Privacy-focused design with offline functionality | ||
| - Efficient data handling and parallel processing | ||
| - Smart search and retrieval | ||
| - Cross-platform compatibility | ||
| <p align="center"> | ||
| <a href="https://youtu.be/RWp-9xT9jow?si=c1vNO5cDgI4GYM6y"> | ||
| <img src="docs/assets/demo.png" alt="PictoPy Demonstration"> | ||
| </a> | ||
| </p> | ||
|
|
||
| ## Technical Stack | ||
| ## Technology Stack | ||
|
|
||
| | Component | Technology | | ||
| | ----------------- | -------------------- | | ||
| | Frontend | React | | ||
| | Desktop Framework | Tauri | | ||
| | Rust Backend | Rust | | ||
| | Python Backend | Python | | ||
| | Backend | Rust, Python | | ||
| | Database | SQLite | | ||
| | Image Processing | OpenCV, ONNX Runtime | | ||
| | Object Detection | YOLOv11 | | ||
|
|
@@ -60,6 +82,37 @@ Handles file system operations and provides a secure bridge between the frontend | |
| | Build Tool | Vite | | ||
| | Type Checking | TypeScript | | ||
|
|
||
| --- | ||
| ## High Level Architecture | ||
|
|
||
| <div align="center"> | ||
| <picture> | ||
| <source media="(prefers-color-scheme: dark)" srcset="docs/assets/architectual-design-dark.svg"> | ||
| <source media="(prefers-color-scheme: light)" srcset="docs/assets/architectual-design-light.svg"> | ||
| <img src="docs/assets/architectual-design-light.svg" alt="PictoPy architecture diagram"> | ||
| </picture> | ||
| </div> | ||
|
|
||
| ## Want to Contribute? | ||
|
|
||
| <a href="https://discord.gg/hjUhu33uAn"><img src="https://img.shields.io/discord/1022871757289422898?style=flat&logo=discord&logoColor=white&logoSize=auto&label=Discord&labelColor=5865F2&color=57F287" height="30"></a> | ||
|
|
||
| 1. First, join the **[Discord Server](https://discord.gg/hjUhu33uAn) (Go to Projects->PictoPy)** to chat with everyone. | ||
| 2. For detailed setup instructions, coding guidelines, and the contribution process, please check out our [CONTRIBUTING.md](./CONTRIBUTING.md) file. | ||
|
|
||
| Don't forget to star this repository if you find it useful! ⭐ | ||
|
|
||
| Our Code of Conduct: [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) | ||
|
|
||
|
|
||
| ## License | ||
|
|
||
| This project is licensed under the GNU General Public License v3.0. | ||
| See the [LICENSE](LICENSE) file for details. | ||
|
|
||
| ## Thanks To All Contributors | ||
|
|
||
| Thanks a lot for spending your time helping TODO grow. Keep rocking 🥂 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Replace the placeholder “TODO” in contributor thanks text. Line 114 currently says “helping TODO grow,” which reads like an unfinished placeholder in user-facing docs. As per coding guidelines, "Suggest code completions when seeing a TODO or FIXME comment." 🤖 Prompt for AI Agents |
||
|
|
||
| [](https://github.com/AOSSIE-Org/PictoPy/graphs/contributors) | ||
|
|
||
| © 2026 AOSSIE | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,19 +5,8 @@ | |
| PictoPy uses several SQLite databases to manage various aspects of the application. This document provides an overview of each database, its structure, and its primary operations. | ||
|
|
||
| ## Database Schema | ||
| <p align="center"> | ||
| <img src="../../assets/database_architecture.svg" alt="PictoPy Banner" width="100%"/> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Update image alt text to match the actual content. Line 9 uses As per coding guidelines, "Verify that documentation and comments are free of spelling mistakes." 🤖 Prompt for AI Agents |
||
| </p> | ||
|
|
||
| You can view the interactive DB schema below: | ||
| <br> | ||
| <br> | ||
|
|
||
| <iframe | ||
| src="https://dbdiagram.io/e/685704c4f039ec6d364647e1/68701a53f413ba350850acf9" | ||
| width="100%" | ||
| height="700px" | ||
| style="border: 1px solid #ccc; border-radius: 8px;" | ||
| loading="lazy" | ||
| allowfullscreen> | ||
| </iframe> | ||
| <br> | ||
|
|
||
| Alternatively, [click here to open the DB diagram in a new tab](https://dbdiagram.io/d/PictoPy-685704c4f039ec6d364647e1). | ||
| Alternatively, [click here to view the interactive DB schema diagram in a new tab](https://dbdiagram.io/d/PictoPy-685704c4f039ec6d364647e1). | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add alt text to the Discord badge image.
Line 97’s
<img>is missing analtattribute (also flagged by markdownlint MD045).As per coding guidelines, "Confirm that the code meets the project's requirements and objectives."
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)
[warning] 97-97: Images should have alternate text (alt text)
(MD045, no-alt-text)
🤖 Prompt for AI Agents