You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<em>AI-powered research discovery platform that matches your research interests with relevant scientific papers using intelligent semantic ranking.</em>
11
+
</p>
2
12
3
-
*Inquiro* is an AI-powered research discovery platform designed to match user research interests with relevant scientific papers using intelligent semantic ranking.
13
+
---
14
+
15
+
## 📋 Prerequisites
16
+
17
+
| Tool | Required For | Installation |
18
+
| --- | --- | --- |
19
+
|**Docker**| All setups |[docker.com](https://www.docker.com/products/docker-desktop/)|
20
+
|**Python**| 3.11.14 — Development setup only |[python.org](https://www.python.org/downloads/release/python-31114/)|
21
+
|**Node.js**| 22.12.0+ — Development setup only |[nodejs.org](https://nodejs.org/)|
22
+
23
+
You also need an **OpenAI API key** for semantic ranking and paper analysis features.
24
+
Get one at [platform.openai.com](https://platform.openai.com/).
4
25
5
26
---
6
27
7
-
## ⚙️ Development Setup
28
+
## 🚀 Quick Start (Docker)
29
+
30
+
Run the entire stack — database, backend, frontend, and test data seeding — in Docker with a few commands.
31
+
32
+
1.**Create your environment file:**
33
+
34
+
```bash
35
+
cp .env.example .env
36
+
```
37
+
38
+
2.**Add your OpenAI API key** by editing the `.env` file:
39
+
40
+
```
41
+
OPENAI_API_KEY=sk-your-key-here
42
+
```
43
+
44
+
3.**Start all services:**
45
+
46
+
```bash
47
+
docker compose --profile full up -d
48
+
```
8
49
9
-
### 🧩 Prerequisites
50
+
This will automatically:
51
+
- Start the PostgreSQL database (with pgvector)
52
+
- Launch the backend, which creates the database schema on startup
53
+
- Seed the database with test papers and a test user (`test` / `My Test Project`)
54
+
- Serve the frontend via nginx
10
55
11
-
Make sure the following tools are installed on your system:
56
+
Once running, open [http://localhost](http://localhost) in your browser.
💡 **Note:** Docker is only required to run the PostgreSQL database locally.
20
-
The backend and frontend are started manually.
64
+
> To stop all services: `docker compose --profile full down`
21
65
22
66
---
23
67
24
-
## 🖥️ Frontend Setup
68
+
## 🛠️ Development Setup
25
69
26
-
1.**Navigate to the frontend directory**:
70
+
For active development, run only the database in Docker and start the frontend and backend manually. This gives you hot-reload and direct access to the code.
71
+
72
+
### 🖥️ Frontend
73
+
74
+
1.**Navigate to the frontend directory:**
27
75
28
76
```bash
29
77
cd frontend
30
78
```
31
-
2.**Install dependencies**:
79
+
80
+
2.**Install dependencies:**
32
81
33
82
```bash
34
83
npm install
35
84
```
36
-
3.**Start the development server**:
85
+
86
+
3.**Start the development server:**
37
87
38
88
```bash
39
89
npm run dev
40
90
```
41
91
42
92
The frontend will be available at [http://localhost:5173](http://localhost:5173) (or the port shown in the console).
43
93
44
-
---
94
+
### ⚙️ Backend
45
95
46
-
## ⚙️ Backend Setup
47
-
48
-
1.**From the project root, start the database**:
96
+
1.**From the project root, start the database:**
49
97
50
98
```bash
51
99
docker compose up -d
52
100
```
53
-
2.**Navigate to the backend directory**:
101
+
102
+
2.**Navigate to the backend directory:**
54
103
55
104
```bash
56
105
cd backend
57
106
```
58
107
59
-
---
60
-
61
-
## (Optional but recommended) Create and activate a Python environment
62
-
63
-
You can choose **either** a standard `venv` (recommended if you already installed Python 3.11.14 manually) **or** an Anaconda environment.
64
-
65
-
### ✅ Option A — Create a virtual environment using `venv` (Python 3.11.14)
108
+
3.**Set up a Python environment***(optional but recommended)*
66
109
67
-
Ensure Python **3.11.14**is available on your system (check with `python --version` or `python3 --version`).
110
+
Choose **either**a standard `venv`**or** an Anaconda environment.
68
111
69
-
🧠 **Linux / macOS**
112
+
<details>
113
+
<summary><strong>Option A — venv (Python 3.11.14)</strong></summary>
70
114
71
-
```bash
72
-
# Create a virtual environment using the correct Python version
73
-
python3.11 -m venv inquiro-env
115
+
Ensure Python **3.11.14** is available on your system (`python --version` or `python3 --version`).
74
116
75
-
# Activate it
76
-
source inquiro-env/bin/activate
77
-
```
117
+
**Linux / macOS:**
78
118
79
-
🪟 **Windows (PowerShell)**
80
-
81
-
```bash
82
-
# Create a virtual environment
83
-
py -3.11 -m venv inquiro-env
119
+
```bash
120
+
python3.11 -m venv inquiro-env
121
+
source inquiro-env/bin/activate
122
+
```
84
123
85
-
# Activate it
86
-
inquiro-env\Scripts\activate
87
-
```
124
+
**Windows (PowerShell):**
88
125
126
+
```bash
127
+
py -3.11 -m venv inquiro-env
128
+
inquiro-env\Scripts\activate
129
+
```
89
130
90
-
### ✅ Option B — Create an environment using Anaconda (Python 3.11.14)
131
+
</details>
91
132
92
-
If you're using Conda, you can create a dedicated environment:
133
+
<details>
134
+
<summary><strong>Option B — Anaconda</strong></summary>
93
135
94
-
```bash
95
-
conda create -n inquiro-env python=3.11.14
96
-
conda activate inquiro-env
97
-
```
136
+
```bash
137
+
conda create -n inquiro-env python=3.11.14
138
+
conda activate inquiro-env
139
+
```
98
140
99
-
This ensures all dependencies install cleanly—especially libraries like `torch`, `transformers`, and scientific packages.
141
+
This ensures all dependencies install cleanly — especially libraries like `torch`, `transformers`, and scientific packages.
100
142
101
-
---
143
+
</details>
102
144
103
-
3.**Install dependencies**:
145
+
4.**Install dependencies:**
104
146
105
147
```bash
106
148
pip install -r requirements.txt
107
149
pip install -r requirements-dev.txt
108
150
```
109
-
110
-
4.**Create a local environment file**:
111
151
112
-
Copy the example file and rename it to dev.env:
152
+
5.**Create a local environment file:**
153
+
154
+
Copy the example file and rename it to `dev.env`:
155
+
156
+
**Linux / macOS:**
113
157
114
-
🧠 Linux / macOS
115
-
116
-
```bash
158
+
```bash
117
159
cp .env.example dev.env
118
160
```
119
-
120
-
🪟 Windows (PowerShell)
161
+
162
+
**Windows (PowerShell):**
121
163
122
164
```bash
123
165
copy .env.example dev.env
124
166
```
125
-
126
-
Then adjust the values if needed (e.g., database port, credentials).
127
167
128
-
5.**Install Git hooks**:
168
+
Then open `dev.env` and add your **OpenAI API key**. Adjust other values if needed (e.g., database port, credentials).
169
+
170
+
6.**Install Git hooks:**
129
171
130
172
```bash
131
173
pre-commit install
132
174
```
133
175
134
-
After this, the formatters and linters will run automatically every time you commit.
176
+
After this, formatters and linters will run automatically on every commit.
135
177
136
-
6.**Start the FastAPI server**:
178
+
7.**Start the FastAPI server:**
137
179
138
180
```bash
139
181
uvicorn app.main:app --reload
@@ -146,20 +188,16 @@ This ensures all dependencies install cleanly—especially libraries like `torch
146
188
147
189
## 🧪 API Testing with Bruno
148
190
149
-
The *Inquiro* project includes a [**Bruno**](https://www.usebruno.com) collection under `/bruno` for testing and exploring the backend API.
150
-
Bruno is a lightweight, file-based API client that stores requests in plain text, making it well-suited for collaborative development and version control.
191
+
The project includes a [**Bruno**](https://www.usebruno.com) collection under `/bruno` for testing and exploring the backend API. Bruno is a lightweight, file-based API client that stores requests in plain text, making it well-suited for collaborative development and version control.
151
192
152
-
### ⚙️ Setup
193
+
1.**Install Bruno** — Download from [usebruno.com/downloads](https://www.usebruno.com/downloads).
153
194
154
-
1.**Install Bruno**
195
+
2.**Open the collection** — Launch Bruno, click **"Open Collection"**, and select the `/bruno/Inquiro Bruno` folder from the project root.
155
196
156
-
Download and install Bruno from [usebruno.com/downloads](https://www.usebruno.com/downloads).
197
+
3.**Select an environment** — The `/bruno/Inquiro Bruno/environments` directory contains predefined environment files. For local development, select the **_Development_** environment.
157
198
158
-
2.**Open the collection**
159
-
160
-
* Launch Bruno.
161
-
* Click **“Open Collection”** and select the `/bruno/Inquiro Bruno` folder from the project root.
199
+
---
162
200
163
-
3.**Select or configure an environment**
201
+
## 🤖 AI Acknowledgement
164
202
165
-
The `/bruno/Inquiro Bruno/environments` directory contains predefined environment files. For local development select the **_Development_** environment.
203
+
AI-assisted tools, including ChatGPT, Claude (Code), and Cursor, were used during the development of this project for architectural planning, code generation, and debugging support. All AI-generated output was reviewed and adapted by the development team.
0 commit comments