Update dependencies in pyproject.toml and uv.lock, including pytest and version upgrades for several packages. Modify .gitignore to exclude additional data directories and files. Enhance source_versions.json with new versioning information for various libraries.
Add Docker support with .dockerignore and Dockerfile updates. Integrate Next.js frontend build process, including package.json and related configurations. Enhance API to serve static frontend files and update README for project clarity. Add course and document metadata structures for improved content management.