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
Introduce a new /gemini endpoint (app/api/gemini) and accompanying test (tests/test_gemini.py); register the gemini router in app/api/routes.py and expose it in the root metadata. Remove inclusion of several prospects DB utility routers from the main routes. Update README formatting and project overview content, change render.yaml repo to goldlabelapps/python, and relax/adjust assertions in tests/test_prospects.py (including updated meta title expectation). Also minor tweak to root title in app/api/root.py.
Copy file name to clipboardExpand all lines: README.md
+12-25Lines changed: 12 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,16 @@
1
1
## Python FastAPI/Postgres App
2
2
3
-
**Production-ready, open-source FastAPI application with PostgreSQL and blazing-fast full-text search.**
3
+
> Production-ready, open-source FastAPI application with PostgreSQL and blazing-fast full-text search.
4
4
5
-
---
5
+
#### Project Overview
6
6
7
-
### 🚀 Features
7
+
This project provides a scalable API backend using FastAPI and PostgreSQL, featuring:
8
+
9
+
- Automatic full-text search on all text fields (via tsvector)
10
+
- Endpoints for health checks, product management, prompt handling, and prospect management
11
+
- Efficient ingestion and processing of large CSV files
12
+
13
+
#### 🚀 Features
8
14
9
15
-**Python 3.11+**
10
16
-**FastAPI** — Modern, high-performance REST API
@@ -13,19 +19,7 @@
13
19
-**Uvicorn** — Lightning-fast ASGI server
14
20
-**Pytest** — Comprehensive testing
15
21
16
-
---
17
-
18
-
## Project Overview
19
-
20
-
This project provides a scalable API backend using FastAPI and PostgreSQL, featuring:
21
-
22
-
- Automatic full-text search on all text fields (via tsvector)
23
-
- Endpoints for health checks, product management, prompt handling, and prospect management
24
-
- Efficient ingestion and processing of large CSV files
25
-
26
-
---
27
-
28
-
## Getting Started
22
+
#### Getting Started
29
23
30
24
### 1. Clone & Setup Environment
31
25
@@ -38,24 +32,21 @@ source venv/bin/activate
38
32
pip install -r requirements.txt
39
33
```
40
34
41
-
### 2. Run the App
35
+
####2. Run the App
42
36
43
37
```bash
44
38
uvicorn app.main:app --reload
45
39
```
46
40
47
41
Visit [localhost:8000](http://localhost:8000) or [onrender](https://nx-ai.onrender.com)
48
42
49
-
---
50
-
51
-
## API Documentation
43
+
#### API Documentation
52
44
53
45
FastAPI auto-generates interactive docs:
54
46
55
47
-[Swagger UI](https://nx-ai.onrender.com/docs)
56
48
-[ReDoc](https://nx-ai.onrender.com/redoc)
57
49
58
-
---
59
50
60
51
## Full-Text Search (tsvector)
61
52
@@ -69,13 +60,11 @@ SELECT * FROM prospects WHERE search_vector @@ plainto_tsquery('english', 'searc
69
60
- On every insert/update, `search_vector` is computed using PostgreSQL's `to_tsvector('english', ...)`.
70
61
- The GIN index (`idx_prospects_search_vector`) enables efficient search across large datasets.
71
62
72
-
---
73
63
74
64
## Processing Large CSV Files
75
65
76
66
The `/prospects/process` endpoint supports robust ingestion of large CSVs (e.g., 1300+ rows, 300KB+), following the same normalization and insertion pattern as `/prospects/seed` but optimized for scale.
0 commit comments