Site web de portfolios de travail!
| app | 19 days ago | ||
| docker | 19 days ago | ||
| docs/ superpowers | 19 days ago | ||
| public/assets/ images | 19 days ago | ||
| tests | 19 days ago | ||
| .env.example | 20 days ago | ||
| .gitignore | 20 days ago | ||
| Archive.tar.gz | 19 days ago | ||
| DEPLOY.md | 19 days ago | ||
| MANUAL_TESTING.md | 20 days ago | ||
| README.md | 20 days ago | ||
| docker-web-logs.txt | 19 days ago | ||
| install.sh | 19 days ago | ||
| requirements.txt | 19 days ago | ||
| visual-companion.html | 19 days ago | ||
FastAPI portfolio website with steampunk design.
On your MariaDB server, run the docker/init-db.sql script (or manually):
CREATE DATABASE geekbrain_portfolio CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'geekbrain_app'@'%' IDENTIFIED BY 'YOUR_STRONG_PASSWORD'; GRANT SELECT, INSERT, UPDATE, DELETE ON geekbrain_portfolio.* TO 'geekbrain_app'@'%'; FLUSH PRIVILEGES;
Copy .env.example to .env and fill in all required values:
DATABASE_URL: mysql+aiomysql://geekbrain_app:[email protected]:3306/geekbrain_portfolioSMTP_USER: your Gmail addressSMTP_PASSWORD: Gmail app password (not your regular password)RECAPTCHA_SITE_KEY & RECAPTCHA_SECRET: from Google reCAPTCHA v2 setupGITBUCKET_URL: your GitBucket API endpoint (default provided)From the project root:
docker-compose -f docker/docker-compose.yml up -d
The app will be available on http://localhost:8000
Add a new Proxy Host:
portfolio.geekbrain.io (or your desired domain)host.docker.internal if NPM runs on same host)Save and wait for SSL certificate to be issued.
Run locally without Docker:
uvicorn app.main:app --reload
Then visit http://localhost:8000
Run all tests:
pytest tests/ -v
See docs/superpowers/specs/2025-03-21-geekbrain-portfolio-design.md for full specification and architecture.
CACHE_TTL)app/static/, templates in app/templates/Proprietary - Geekbrain.io