Self-hosted academic publication tracker. Track Google Scholar profiles, discover new papers automatically, resolve open-access PDFs, and stay on top of the literature you care about.
|
|
||
|---|---|---|
| .github/workflows | ||
| alembic | ||
| app | ||
| docs | ||
| frontend | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .python-version | ||
| agents.md | ||
| alembic.ini | ||
| docker-compose.dev.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
scholarr
Quick Start
- Copy env template:
cp .env.example .env
- Set required values in
.env:
POSTGRES_PASSWORDSESSION_SECRET_KEY
- Start stack:
docker compose pull
docker compose up -d
Open:
- App/API:
http://localhost:8000 - Health:
http://localhost:8000/healthz
Documentation
Complete documentation is published at:
Source markdown and docs tooling live under docs/.
Quality Gates
Backend:
docker compose -f docker-compose.yml -f docker-compose.dev.yml run --rm app uv run pytest tests/unit
docker compose -f docker-compose.yml -f docker-compose.dev.yml run --rm app uv run pytest -m integration
Frontend:
cd frontend
npm install
npm run typecheck
npm run test:run
npm run build
Contract and env checks:
python3 scripts/check_frontend_api_contract.py
python3 scripts/check_env_contract.py
./scripts/check_no_generated_artifacts.sh