Add initial project configuration and setup for Reference Board Viewer application. Include EditorConfig for consistent coding styles, pre-commit hooks for linting and formatting, Docker Compose for local development with PostgreSQL and MinIO, and a Nix flake for development environment management. Establish CI/CD pipeline for automated testing and deployment.
This commit is contained in:
58
shell.nix
58
shell.nix
@@ -5,15 +5,67 @@
|
||||
pkgs.mkShell {
|
||||
packages =
|
||||
[
|
||||
# Python with development packages
|
||||
(pkgs.python3.withPackages (
|
||||
ps:
|
||||
builtins.attrValues {
|
||||
inherit (ps) setuptools;
|
||||
inherit (ps)
|
||||
setuptools
|
||||
pip
|
||||
# Core backend dependencies
|
||||
fastapi
|
||||
uvicorn
|
||||
sqlalchemy
|
||||
alembic
|
||||
pydantic
|
||||
# Auth & Security
|
||||
python-jose
|
||||
passlib
|
||||
# Image processing
|
||||
pillow
|
||||
# Storage
|
||||
boto3
|
||||
# HTTP & uploads
|
||||
httpx
|
||||
python-multipart
|
||||
# Testing
|
||||
pytest
|
||||
pytest-cov
|
||||
pytest-asyncio
|
||||
;
|
||||
}
|
||||
))
|
||||
]
|
||||
++ builtins.attrValues {
|
||||
inherit (pkgs) uv;
|
||||
};
|
||||
inherit (pkgs)
|
||||
# Python tools
|
||||
uv
|
||||
ruff
|
||||
# Database
|
||||
postgresql
|
||||
# Frontend
|
||||
nodejs
|
||||
# Image processing
|
||||
imagemagick
|
||||
# Version control
|
||||
git
|
||||
# Development tools
|
||||
direnv
|
||||
;
|
||||
};
|
||||
|
||||
buildInputs = [ ];
|
||||
|
||||
shellHook = ''
|
||||
echo "🚀 Reference Board Viewer Development Environment"
|
||||
echo " Python: $(python --version)"
|
||||
echo " Node.js: $(node --version)"
|
||||
echo " PostgreSQL: $(psql --version | head -n1)"
|
||||
echo ""
|
||||
echo "📚 Quick Commands:"
|
||||
echo " Backend: cd backend && uvicorn app.main:app --reload"
|
||||
echo " Frontend: cd frontend && npm run dev"
|
||||
echo " Tests: cd backend && pytest --cov"
|
||||
echo ""
|
||||
'';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user