# tejaa7/jewellerypatterngen architecture

> Architecture diagram of the GitHub repository tejaa7/jewellerypatterngen, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/tejaa7/jewellerypatterngen
- Repository: https://github.com/tejaa7/jewellerypatterngen

## Overview

Luminaire is presented as a jewellery-sketch design platform, with account, gallery/history, and contact features around a sketch-upload-to-design workflow. The React upload component shows local image selection and a Generate button, while the README documents Pix2Pix generation and export; sampled code does not show that generation or export being wired to a model. The separate FastAPI endpoint only saves uploaded files, so its connection to the website is unclear. The Express excerpt supports account, history, image-saving, and email flows; unsampled route details are omitted.

Main entry points: [`WEBSITE/react/src/App.jsx`](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/App.jsx) (Page router), [`WEBSITE/api/index.js`](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/api/index.js) (Express API), [`WEBSITE/react/src/pages/Upload/upload.jsx`](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/Upload/upload.jsx) (Upload page), [`WEBSITE/react/src/components/Upload/SketchtoImage.jsx`](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/components/Upload/SketchtoImage.jsx) (Sketch upload UI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Web experience"]
  node_router["Page router<br/>[App.jsx]"]
  node_upload_page["Upload page<br/>[upload.jsx]"]
end

subgraph group_design["Design workflow"]
  node_upload_ui["Sketch upload UI<br/>[SketchtoImage.jsx]"]
  node_generation_view["Generation gallery<br/>[Generation.jsx]"]
  node_model_api["File upload API<br/>[api.py]"]
end

subgraph group_accounts["Accounts and history"]
  node_signup_page["Sign-up page<br/>[signup.jsx]"]
  node_login_page["Login page<br/>[login.jsx]"]
  node_forgot_page["Password reset page<br/>[Forgot.jsx]"]
  node_history_page["History page<br/>[History.jsx]"]
end

subgraph group_services["Backend services"]
  node_express_api["Express API<br/>[index.js]"]
  node_user_schema["User model<br/>[Schema.js]"]
  node_user_store[("User database<br/>[Schema.js]")]
end

node_visitor(("Designer"))
node_mail_service["Email service"]

node_visitor -->|"browses"| node_router
node_router -->|"routes to"| node_upload_page
node_upload_page -->|"presents"| node_upload_ui
node_upload_ui -->|"shows generations"| node_generation_view
node_visitor -.->|"uploads file"| node_model_api
node_router -->|"routes to"| node_signup_page
node_router -->|"routes to"| node_login_page
node_router -->|"routes to"| node_forgot_page
node_router -->|"routes to"| node_history_page
node_signup_page -->|"posts signup"| node_express_api
node_login_page -.->|"posts login"| node_express_api
node_forgot_page -.->|"requests reset"| node_express_api
node_history_page -.->|"requests history"| node_express_api
node_express_api -->|"queries"| node_user_schema
node_user_schema -->|"persists users"| node_user_store
node_express_api -->|"sends email"| node_mail_service

click node_router "https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/App.jsx"
click node_upload_page "https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/Upload/upload.jsx"
click node_upload_ui "https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/components/Upload/SketchtoImage.jsx"
click node_generation_view "https://github.com/tejaa7/jewellerypatterngen/tree/main/WEBSITE/react/src/components/Generation.jsx"
click node_model_api "https://github.com/tejaa7/jewellerypatterngen/blob/main/Model/api.py"
click node_signup_page "https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/Signup/signup.jsx"
click node_login_page "https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/Login/login.jsx"
click node_forgot_page "https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/Forgotps/Forgot.jsx"
click node_history_page "https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/History/History.jsx"
click node_express_api "https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/api/index.js"
click node_user_schema "https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/api/Schema.js"
click node_user_store "https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/api/Schema.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_router,node_upload_page toneBlue
class node_upload_ui,node_generation_view,node_model_api toneAmber
class node_signup_page,node_login_page,node_forgot_page,node_history_page toneMint
class node_express_api,node_user_schema,node_user_store toneRose
class node_visitor,node_mail_service toneIndigo
```

## Components

### Web experience

- [Page router](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/App.jsx): `WEBSITE/react/src/App.jsx`
- [Upload page](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/Upload/upload.jsx): `WEBSITE/react/src/pages/Upload/upload.jsx`

### Design workflow

- [Sketch upload UI](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/components/Upload/SketchtoImage.jsx): `WEBSITE/react/src/components/Upload/SketchtoImage.jsx`
- [Generation gallery](https://github.com/tejaa7/jewellerypatterngen/tree/main/WEBSITE/react/src/components/Generation.jsx): `WEBSITE/react/src/components/Generation.jsx`
- [File upload API](https://github.com/tejaa7/jewellerypatterngen/blob/main/Model/api.py): `Model/api.py`

### Accounts and history

- [Sign-up page](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/Signup/signup.jsx): `WEBSITE/react/src/pages/Signup/signup.jsx`
- [Login page](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/Login/login.jsx): `WEBSITE/react/src/pages/Login/login.jsx`
- [Password reset page](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/Forgotps/Forgot.jsx): `WEBSITE/react/src/pages/Forgotps/Forgot.jsx`
- [History page](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/react/src/pages/History/History.jsx): `WEBSITE/react/src/pages/History/History.jsx`

### Backend services

- [Express API](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/api/index.js): `WEBSITE/api/index.js`
- [User model](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/api/Schema.js): `WEBSITE/api/Schema.js`
- [User database](https://github.com/tejaa7/jewellerypatterngen/blob/main/WEBSITE/api/Schema.js): `WEBSITE/api/Schema.js`

### Other components

- **Designer**
- **Email service**

## Connections

- Designer → Page router: browses
- Page router → Upload page: routes to
- Upload page → Sketch upload UI: presents
- Sketch upload UI → Generation gallery: shows generations
- Designer → File upload API: uploads file
- Page router → Sign-up page: routes to
- Page router → Login page: routes to
- Page router → Password reset page: routes to
- Page router → History page: routes to
- Sign-up page → Express API: posts signup
- Login page → Express API: posts login
- Password reset page → Express API: requests reset
- History page → Express API: requests history
- Express API → User model: queries
- User model → User database: persists users
- Express API → Email service: sends email
