Skip to content

Commit eb165cf

Browse files
committed
Readme migliroe
1 parent 3816f0d commit eb165cf

1 file changed

Lines changed: 59 additions & 21 deletions

File tree

README.md

Lines changed: 59 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44

55
</div>
66

7-
8-
97
<p align="center">
108
<img src="https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python"/>
119
<img src="https://img.shields.io/badge/FaceRecognition-%23007ACC?style=for-the-badge&logo=python&logoColor=white" alt="FaceRecognition"/>
@@ -15,7 +13,6 @@
1513
<img src="https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black" alt="JavaScript"/>
1614
</p>
1715

18-
1916
## Table of Contents
2017

2118
- [Description](#description)
@@ -27,7 +24,9 @@
2724

2825
## Description
2926

30-
DDFR is not just a computer vision system; it is a digital companion designed to restore confidence to those living with dementia. Thanks to advanced technology, the system recognizes the faces of friends and relatives in real-time, discreetly whispering to the patient who is in front of them and recalling past conversations. DDFR transforms uncertainty into familiarity, helping to keep the most precious bonds alive day after day.
27+
Memory is the quiet thread that weaves the tapestry of our identity. When that thread begins to fray, the world can become a fragmented, uncertain place. DDFR is not merely a computer vision system; it is a digital anchor designed to restore confidence and dignity to those living with dementia.
28+
29+
Leveraging a sophisticated modular architecture, DDFR acts as an external memory extension. It perceives the environment in real-time, identifying the faces of loved ones—friends, family, caregivers—and discreetly bridges the cognitive gap. Currently, the system provides immediate visual identification, transforming the anxiety of the unknown into the comfort of familiarity. It is technology stepping back to let humanity come forward, helping to keep the most precious bonds alive.
3130

3231
## Technologies
3332

@@ -36,44 +35,83 @@ DDFR is built on a modern and modular architecture, designed to ensure real-time
3635
### Frontend & User Experience
3736
The user interface is developed to be accessible, clear, and immediate.
3837

39-
* **React:** Used to create a reactive and fluid Single Page Application (SPA). The visual component is optimized to ensure readability and ease of use, essential factors for the target audience.
38+
* **React:** Used to create a reactive and fluid Single Page Application (SPA). The visual component is optimized to ensure readability and ease of use.
4039
* **npm:** Manages the dependency ecosystem, ensuring a stable and up-to-date development environment.
4140

4241
### Backend & Core Performance
4342
The heart of the system is a robust backend that handles high-speed data flow.
4443

4544
* **Python:** The reference language for data processing and artificial intelligence.
46-
* **FastAPI:** Chosen for its exceptional performance and ability to handle asynchronous operations. It provides the REST APIs that connect the system's eye (the camera) to the brain (the server) and the user interface.
47-
* **Uvicorn:** The "lightning-fast" ASGI server that keeps the system online and responsive, handling multiple requests without perceptible latency.
45+
* **FastAPI:** Chosen for its exceptional performance. It provides the REST APIs that connect the system's eye (the camera) to the brain (the server).
46+
* **Uvicorn:** The ASGI server that keeps the system online and responsive, handling multiple requests without perceptible latency.
4847

4948
### Database & Data Storage
5049
The system's long-term memory, essential for flexible data storage.
5150

52-
* **MongoDB:** A document-oriented NoSQL database. It was chosen for its scalability and flexibility in managing complex data structures, such as relative registries, biometric vectors for facial recognition, and future conversation logs.
51+
* **MongoDB:** A document-oriented NoSQL database chosen for its scalability in managing complex data structures, such as relative registries and biometric vectors.
5352

5453
### Computer Vision (AI)
55-
* **Face Recognition (Python Lib):** The biometric recognition engine. This library, an industry standard for precision and simplicity, maps and identifies known faces (friends and relatives) with a high degree of reliability, ensuring recognition even in variable conditions.
54+
* **Face Recognition (Python Lib):** The biometric recognition engine. This library maps and identifies known faces with a high degree of reliability.
5655

57-
<div align="center">
56+
## Installation
5857

59-
![In Development](https://img.shields.io/badge/Currently%20in-%20early%20development-red?style=flat&logo=github&logoColor=white)
58+
Setting up DDFR involves preparing the environment where the digital memory will reside. The process is automated to ensure all dependencies—from the visual cortex to the database connection—are correctly aligned.
6059

61-
</div>
60+
### 1. Prerequisite Automation
61+
We have prepared automated scripts to handle the installation of the necessary libraries and system requirements.
62+
63+
* **Windows:** Execute `setup.bat`
64+
* **Linux/MacOS:** Execute `setup.sh`
65+
66+
### 2. Configuration
67+
Before the system can breathe, it requires configuration. DDFR relies on specific environment variables to manage secure connections and database access.
68+
69+
**Backend Configuration**
70+
Please refer to the technical documentation for the Python environment setup: [Config Documentation](https://fdemusso.github.io/DDFR/config/config/)
6271

63-
## Usage
64-
![Working Progress](https://img.shields.io/badge/status-working%20progress-orange?style=flat&logo=github&logoColor=white)
72+
**Frontend Configuration**
73+
Create a `.env.development.local` file in the frontend directory. This establishes the secure link (HTTPS) required for webcam access and defines the WebSocket protocol for real-time communication.
6574

66-
## Contributing
67-
![Working Progress](https://img.shields.io/badge/status-working%20progress-orange?style=flat&logo=github&logoColor=white)
75+
```env
76+
HTTPS=true
77+
SSL_KEY_FILE=<path_to_your_key.pem>
78+
SSL_CRT_FILE=<path_to_your_cert.pem>
79+
HOST=ddfr.local
80+
PORT=3000
81+
REACT_APP_WS_HOST=ddfr.local
82+
REACT_APP_WS_PORT=8000
83+
REACT_APP_WS_PROTOCOL=wss
84+
```
6885

69-
## License
70-
Distributed under the *GPLv3* license. See `LICENSE` for more information.
86+
*Note: Ensure your SSL certificates are generated and placed correctly to allow the browser to trust the local camera stream.*
7187

88+
##UsageOnce the environment is prepared, the system must be awakened manually. The architecture requires the simultaneous operation of the brain (backend) and the eyes (frontend).
89+
90+
###Awakening the System1. **Start the Database:** Ensure your MongoDB instance is running locally.
91+
2. **Start the Brain:** In your terminal, navigate to the backend directory and launch the secure server:
92+
```bash
93+
python main.py https
94+
```
7295

73-
### Developer Notes (not for public)
74-
To start the local database server:
7596

97+
3. **Open the Eyes:** In a separate terminal, launch the user interface:
7698
```bash
77-
nohup /Users/flaviodemusso/mongodb-macos-aarch64--8.2.2/bin/mongod --dbpath /Users/flaviodemusso/Desktop/DDFR/database --logpath /Users/flaviodemusso/Desktop/DDFR/database/mongodb.log > mongod.out 2>&1 &
99+
npm start
100+
```
101+
102+
103+
104+
###The ExperienceUpon launching, the browser will request permission to access the webcam. This is the moment the system begins to observe. Currently, the recognition data—the faces of relatives and friends—must be manually curated in the database (admin phase).
105+
106+
When a known face appears before the camera, DDFR processes the biometric data and provides immediate text-based feedback on the screen, identifying the person. This text is the precursor to the upcoming "human-like" text-to-speech engine.
107+
108+
##ContributingWe are currently in the phase of solidifying the foundation. The core logic for recognition is complete, and we are not looking for new feature implementations at this moment.
109+
110+
Our primary need is for **Testers** and **Code Reviewers**.
111+
112+
* **Code Review:** We need architects to review the codebase for cleanliness, order, and adherence to best practices.
113+
* **Testing:** Verification of the installation scripts and the stability of the WebSocket connections across different environments.
78114

115+
If you wish to help polish this digital companion, please verify the code structure and report any inconsistencies.
79116

117+
##LicenseDistributed under the *GPLv3* license. See `LICENSE` for more information.

0 commit comments

Comments
 (0)