@@ -238,13 +238,13 @@ docker build -t mmeligab/prepcheck-frontend:latest .
238238** Using Docker Compose**
239239
240240``` bash
241- < em > Start all services< /em >
241+ * Start all services*
242242docker-compose up -d
243243
244- < em > View logs< /em >
244+ * View logs*
245245docker-compose logs -f
246246
247- < em > Stop services< /em >
247+ * Stop services*
248248docker-compose down
249249```
250250
@@ -253,10 +253,10 @@ Access the application at http://localhost:80
253253** Pushing to Docker Hub**
254254
255255``` bash
256- < em > Login to Docker Hub< /em >
256+ * Login to Docker Hub*
257257docker login
258258
259- < em > Push images < /em >
259+ * Push images*
260260docker push mmeligab/prepcheck-backend:latest
261261docker push mmeligab/prepcheck-frontend:latest
262262```
@@ -407,51 +407,51 @@ Content-Type: application/json
407407└──────────────┬──────────────────────────┘
408408 │ HTTPS
409409 ▼
410- ┌─────────────────────────────────────────┐
411- │ FRONTEND (React + Vite) │
412- │ • React 18 with hooks │
413- │ • Framer Motion animations │
414- │ • Recharts visualisation │
415- │ • Dark/light mode support │
416- │ • Responsive design │
417- └──────────────┬──────────────────────────┘
418- │ REST API (HTTP/JSON)
419- ▼
420- ┌─────────────────────────────────────────┐
421- │ BACKEND (Node.js + Express) │
422- │ • RESTful API endpoints │
423- │ • File upload handling │
424- │ • Text extraction (PDF/DOCX) │
425- │ • CV validation layer │
426- │ • Error handling & logging │
427- └──────────────┬──────────────────────────┘
428- │ API Calls (HTTPS)
429- ▼
430- ┌─────────────────────────────────────────┐
431- │ AI SERVICE (Google Gemini 2.0) │
432- │ • Natural language processing │
433- │ • Structured JSON generation │
434- │ • Conversational AI (PrepPal) │
435- │ • Context understanding │
436- └─────────────────────────────────────────┘
437- │
438- ▼
439- ┌─────────────────────────────────────────┐
440- │ DOCKER CONTAINERS │
441- │ • Frontend: Nginx Alpine │
442- │ • Backend: Node 22 Bullseye │
443- │ • Multi-stage builds │
444- └──────────────┬──────────────────────────┘
445- │
446- ▼
447- ┌─────────────────────────────────────────┐
448- │ KUBERNETES ORCHESTRATION │
449- │ • Deployments (3 replicas/service) │
450- │ • Services (load balancing) │
451- │ • Secrets (API keys) │
452- │ • ConfigMaps (configuration) │
453- │ • Rolling updates (zero-downtime) │
454- └─────────────────────────────────────────┘
410+ ┌─────────────────────────────────────────┐
411+ │ FRONTEND (React + Vite) │
412+ │ • React 18 with hooks │
413+ │ • Framer Motion animations │
414+ │ • Recharts visualisation │
415+ │ • Dark/light mode support │
416+ │ • Responsive design │
417+ └──────────────┬──────────────────────────┘
418+ │ REST API (HTTP/JSON)
419+ ▼
420+ ┌─────────────────────────────────────────┐
421+ │ BACKEND (Node.js + Express) │
422+ │ • RESTful API endpoints │
423+ │ • File upload handling │
424+ │ • Text extraction (PDF/DOCX) │
425+ │ • CV validation layer │
426+ │ • Error handling & logging │
427+ └──────────────┬──────────────────────────┘
428+ │ API Calls (HTTPS)
429+ ▼
430+ ┌─────────────────────────────────────────┐
431+ │ AI SERVICE (Google Gemini 2.0) │
432+ │ • Natural language processing │
433+ │ • Structured JSON generation │
434+ │ • Conversational AI (PrepPal) │
435+ │ • Context understanding │
436+ └─────────────────────────────────────────┘
437+ │
438+ ▼
439+ ┌─────────────────────────────────────────┐
440+ │ DOCKER CONTAINERS │
441+ │ • Frontend: Nginx Alpine │
442+ │ • Backend: Node 22 Bullseye │
443+ │ • Multi-stage builds │
444+ └──────────────┬──────────────────────────┘
445+ │
446+ ▼
447+ ┌─────────────────────────────────────────┐
448+ │ KUBERNETES ORCHESTRATION │
449+ │ • Deployments (3 replicas/service) │
450+ │ • Services (load balancing) │
451+ │ • Secrets (API keys) │
452+ │ • ConfigMaps (configuration) │
453+ │ • Rolling updates (zero-downtime) │
454+ └─────────────────────────────────────────┘
455455
456456
457457## 🔒 Security Notes
0 commit comments