Full-stack Proof of Concept combining:
- Frontend (Next.js + Tailwind + shadcn/ui)
- Backend API (FastAPI + SQLAlchemy)
- Database (PostgreSQL + Alembic migrations)
- Frontend: Next.js 16, React 19, Tailwind CSS 4, shadcn/ui
- Backend: FastAPI, Pydantic, SQLAlchemy ORM
- Database: PostgreSQL
- Migrations: Alembic
- Tooling: uv (Python), npm (Node)
- Python 3.14+
- Node.js 20+
- PostgreSQL running locally
Edit app/database.py and set:
SQLALCHEMY_DATABASE_URL = "postgresql://user:password@localhost/uni_db"uv run alembic upgrade headuv run uvicorn app.main:app --reload --host 127.0.0.1 --port 8000Backend: http://127.0.0.1:8000
cd frontend
cp .env.example .env.local
npm install
npm run devFrontend: http://localhost:3000
Set in frontend/.env.local:
NEXT_PUBLIC_API_URL=http://127.0.0.1:8000uv run alembic revision --autogenerate -m "describe change"
uv run alembic upgrade head
uv run alembic downgrade -1
uv run alembic current
uv run alembic history