Skip to content

Commit c559f37

Browse files
update
1 parent 18adca7 commit c559f37

3 files changed

Lines changed: 51 additions & 149 deletions

File tree

README.md

Lines changed: 49 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,23 @@
11
# coBoarding
22

3+
![Diagram architektury](docs/architecture.png)
4+
*Schemat architektury systemu coBoarding – mikroserwisy, komunikacja przez Docker, web UI*
5+
36
coBoarding to kompleksowy, kontenerowy system do automatycznego wypełniania formularzy rekrutacyjnych, kładący nacisk na prywatność, elastyczność oraz wsparcie wielojęzyczne.
47

5-
## Główne cechy
6-
- Architektura oparta na Docker (moduły: browser-service, llm-orchestrator, novnc, web-interface)
7-
- 100% lokalne przetwarzanie danych (prywatność)
8-
- Wykrywanie sprzętu (GPU/CPU, RAM) i automatyczny dobór modelu LLM
9-
- Wielojęzyczność (PL, DE, EN) z automatyczną detekcją
10-
- Nowoczesny web UI z HTTPS i sterowaniem głosowym
11-
- Automatyczna generacja pipelines dla portali pracy
12-
- Wizualizacja procesu przez noVNC
13-
- Integracja z menedżerami haseł (Bitwarden, PassBolt)
14-
- Kompletne środowisko testowe
15-
16-
## 📚 Spis treści / Menu
17-
- [Szybki start](#szybki-start)
18-
- [Instalacja środowiska (Python 3.11+ / 3.12 na Ubuntu 24.10+)](#instalacja-środowiska-python-311--312-na-ubuntu-2410)
19-
- [Struktura kontenerów](#struktura-kontenerów)
20-
- [Weryfikacja wdrożenia](#weryfikacja-wdrożenia)
21-
- [Scenariusze testowe](#scenariusze-testowe)
22-
- [FAQ](#faq)
23-
- [Kontakt i wsparcie](#kontakt-i-wsparcie)
8+
---
249

2510
## Szybki start
2611

12+
### Wymagania wstępne
13+
- Python 3.11+ lub 3.12
14+
- Docker i Docker Compose v2
15+
16+
### Pierwsze uruchomienie
17+
2718
```bash
28-
git clone https://github.com/coboarding/coboarding.git
29-
cd coBoarding
19+
git clone https://github.com/coboarding/python.git
20+
cd python
3021
bash install.sh # automatyczna instalacja zależności i Docker Compose v2
3122
bash run.sh # lub ./run.ps1 na Windows
3223
```
@@ -35,133 +26,47 @@ Pierwsze uruchomienie automatycznie skonfiguruje środowisko (venv, zależności
3526

3627
> **WAŻNE:** Projekt wymaga Docker Compose v2 (polecenie `docker compose`). Skrypt `install.sh` instaluje go automatycznie jako plugin CLI.
3728
38-
## Cache pip w Docker
39-
40-
Wszystkie kontenery pythonowe korzystają z cache pip zamontowanego jako volume:
41-
42-
```yaml
43-
volumes:
44-
- ~/.cache/pip:/root/.cache/pip
45-
```
46-
47-
Dzięki temu, podczas budowania obrazu, pip używa lokalnego cache i nie pobiera ponownie tych samych pakietów z internetu, co znacząco przyspiesza development oraz CI/CD.
48-
49-
> **Uwaga:** Flaga `--no-cache-dir` NIE jest używana w poleceniach pip w Dockerfile – cache jest zawsze wykorzystywany.
50-
51-
**Czyszczenie cache pip lokalnie:**
52-
53-
Jeśli chcesz wyczyścić lokalny cache pip (np. w przypadku problemów z zależnościami lub braku miejsca na dysku):
54-
55-
```bash
56-
rm -rf ~/.cache/pip
57-
```
58-
59-
Cache zostanie odbudowany automatycznie przy następnym budowaniu obrazu.
60-
61-
## Optymalizacja buildów Docker – pliki .dockerignore
62-
63-
Każdy katalog z Dockerfile powinien zawierać plik `.dockerignore`, który określa, jakie pliki i katalogi nie powinny być kopiowane do kontekstu budowy obrazu.
64-
65-
Przykładowa zawartość `.dockerignore`:
66-
```
67-
.git
68-
__pycache__
69-
*.pyc
70-
*.pyo
71-
*.pyd
72-
*.db
73-
*.sqlite3
74-
*.log
75-
*.md
76-
tests/
77-
test-examples/
78-
data/
79-
model-configs/
80-
node_modules/
81-
.env
82-
*.egg-info
83-
```
84-
85-
**Dlaczego to ważne?**
86-
- Szybszy build (Docker nie kopiuje niepotrzebnych plików)
87-
- Mniejszy rozmiar obrazu
88-
- Efektywniejsze cache warstw
89-
90-
**Instrukcja:**
91-
- Jeśli dodajesz nowy katalog z Dockerfile, skopiuj powyższy `.dockerignore` lub dostosuj go do swoich potrzeb.
92-
- Możesz edytować istniejący `.dockerignore`, aby ignorować dodatkowe pliki specyficzne dla danego serwisu.
93-
94-
## Testowanie poprawności plików deklaratywnych
95-
96-
W repozytorium znajduje się skrypt:
29+
---
9730

98-
```bash
99-
./test-declarative.sh
100-
```
101-
102-
Sprawdza on poprawność wszystkich plików YAML/YML, Dockerfile (lint/hadolint) oraz JSON w projekcie. Zalecane uruchamianie przed commitem większych zmian w konfiguracji.
103-
104-
## Testowanie usług i E2E
105-
106-
### Testowanie pojedynczych serwisów Docker
107-
108-
Każdy serwis możesz przetestować osobno w izolowanym środowisku:
109-
110-
```bash
111-
bash containers/test-service.sh <nazwa-serwisu>
112-
```
113-
Np. dla llm-orchestrator:
114-
```bash
115-
bash containers/test-service.sh llm-orchestrator
116-
```
117-
118-
Wymagane są pliki `docker-compose.<service>.yml` (generowane automatycznie dla głównych usług). Skrypt:
119-
- Buduje i uruchamia środowisko tylko dla wybranego serwisu
120-
- Sprawdza, czy kontener działa
121-
- (Opcjonalnie) wykonuje healthcheck HTTP
122-
- Wyświetla logi i zatrzymuje środowisko
123-
124-
### Automatyczne testy wszystkich usług
125-
126-
Aby przetestować wszystkie główne serwisy po kolei (z Ansible healthcheck):
127-
128-
```bash
129-
bash dev.sh
130-
```
31+
## Jak to działa
13132

132-
Skrypt:
133-
- Uruchamia test-service.sh dla każdego serwisu
134-
- Po każdym teście uruchamia testy E2E Ansible dla danego endpointu
135-
- Zatrzymuje środowisko po każdym teście
33+
coBoarding automatyzuje proces aplikowania na portale pracy:
34+
1. **Wykrywa sprzęt** i dobiera model LLM
35+
2. **Konfiguruje środowisko** (Docker, Python, cache pip)
36+
3. **Uruchamia Web UI** (HTTPS, obsługa głosowa, noVNC)
37+
4. **Wykrywa język formularza** (PL, DE, EN)
38+
5. **Integruje się z menedżerami haseł** (Bitwarden/PassBolt)
39+
6. **Generuje pipeline** do wypełnienia formularza
40+
7. **Testuje i wizualizuje** proces przez noVNC
13641

137-
### Testy E2E Ansible
42+
System działa na architekturze mikroserwisowej (browser-service, llm-orchestrator, web-interface, novnc), komunikujących się przez sieć Docker.
13843

139-
W katalogu `infra/ansible/` znajduje się playbook `playbook.yml`, który sprawdza healthchecki HTTP kluczowych usług. Możesz uruchomić go ręcznie:
44+
## Przykłady zastosowań
45+
- Automatyczne wypełnianie formularzy rekrutacyjnych (LinkedIn, Pracuj.pl, StepStone, Indeed)
46+
- Masowe aplikowanie na wiele ogłoszeń z zachowaniem prywatności
47+
- Wsparcie dla osób z niepełnosprawnościami (obsługa głosowa)
48+
- Integracja z własnym ATS
49+
- Testowanie formularzy webowych
14050

141-
```bash
142-
ansible-playbook infra/ansible/playbook.yml --extra-vars "endpoints=[{name:'llm-orchestrator',url:'http://localhost:5000/health',status:200}]"
143-
```
51+
## Główne cechy
52+
- Architektura oparta na Docker (browser-service, llm-orchestrator, novnc, web-interface)
53+
- 100% lokalne przetwarzanie danych (prywatność)
54+
- Wykrywanie sprzętu (GPU/CPU, RAM) i automatyczny dobór modelu LLM
55+
- Wielojęzyczność (PL, DE, EN) z automatyczną detekcją
56+
- Nowoczesny web UI z HTTPS i sterowaniem głosowym
57+
- Automatyczna generacja pipelines dla portali pracy
58+
- Wizualizacja procesu przez noVNC
59+
- Integracja z menedżerami haseł (Bitwarden, PassBolt)
60+
- Kompletne środowisko testowe
14461

145-
## Rozwiązywanie problemów z uruchomieniem kontenerów
146-
147-
- Jeśli kontener natychmiast się wyłącza:
148-
- Uruchom go na pierwszym planie, by zobaczyć błąd:
149-
```bash
150-
docker-compose -f docker-compose.<service>.yml up
151-
```
152-
- Sprawdź, czy wszystkie wymagane pliki istnieją (np. requirements.txt, api.py, katalogi data/, model-configs/)
153-
- Sprawdź logi kontenera:
154-
```bash
155-
docker-compose -f docker-compose.<service>.yml logs
156-
```
157-
- Upewnij się, że port nie jest zajęty przez inną usługę
158-
- Sprawdź, czy requirements.txt zawiera wszystkie zależności
159-
160-
## Struktura kontenerów i testów
161-
- Każdy główny serwis ma własny Dockerfile w `containers/<service>/`
162-
- Dedykowane pliki `docker-compose.<service>.yml` pozwalają na izolowane testowanie
163-
- Skrypt `containers/test-service.sh` automatyzuje testowanie pojedynczych usług
164-
- Skrypt `dev.sh` testuje cały zestaw usług po kolei i uruchamia testy Ansible
62+
## 📚 Spis treści / Menu
63+
- [Szybki start](#szybki-start)
64+
- [Instalacja środowiska (Python 3.11+ / 3.12 na Ubuntu 24.10+)](#instalacja-środowiska-python-311--312-na-ubuntu-2410)
65+
- [Struktura kontenerów](#struktura-kontenerów)
66+
- [Weryfikacja wdrożenia](#weryfikacja-wdrożenia)
67+
- [Scenariusze testowe](#scenariusze-testowe)
68+
- [FAQ](#faq)
69+
- [Kontakt i wsparcie](#kontakt-i-wsparcie)
16570

16671
## Instalacja środowiska (Python 3.11+ / 3.12 na Ubuntu 24.10+)
16772

@@ -225,7 +130,6 @@ Szczegółowe prompty i pytania weryfikacyjne znajdziesz w pliku `TODO.txt`.
225130
## Kontakt i wsparcie
226131
Projekt open-source. Wszelkie zgłoszenia błędów i propozycje zmian prosimy kierować przez Issues na GitHub.
227132

228-
229133
# coBoarding
230134

231135
System do automatycznego wypełniania formularzy internetowych wykorzystujący lokalne modele językowe (LLM) w trzech językach (polski, niemiecki, angielski) bazujący na danych z CV.
@@ -254,8 +158,8 @@ System do automatycznego wypełniania formularzy internetowych wykorzystujący l
254158
### 1. Sklonuj repozytorium
255159

256160
```bash
257-
git clone https://github.com/coboarding/coboarding.git
258-
cd coBoarding
161+
git clone https://github.com/coboarding/python.git
162+
cd python
259163
```
260164

261165
### 2. Przygotuj CV
@@ -389,8 +293,6 @@ Chętnie przyjmujemy Pull Requesty! Aby przyczynić się do rozwoju projektu:
389293
4. Wypchnij branch (`git push origin feature/amazing-feature`)
390294
5. Otwórz Pull Request
391295

392-
393-
394296
# Struktura projektu coBoarding
395297

396298
```

docs/quickstart.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
1. Sklonuj repozytorium:
44
```bash
5-
git clone https://github.com/coboarding/coboarding.git
5+
git clone https://github.com/coboarding/python.git
66
cd coBoarding
77
```
88
2. Uruchom instalację:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ license = "Apache-2.0"
1515
Documentation = "https://github.com/coboarding/coboarding/blob/main/README.md"
1616
Changelog = "https://github.com/coboarding/coboarding/blob/main/CHANGELOG.md"
1717
MonitoringSystemDocs = "https://github.com/coboarding/coboarding/blob/main/docs/monitoring-system.md"
18-
Repository = "https://github.com/coboarding/coboarding.git"
18+
Repository = "https://github.com/coboarding/python.git"

0 commit comments

Comments
 (0)