Initial commit
This commit is contained in:
65
init.sh
Normal file
65
init.sh
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
# Project initialization script
|
||||
|
||||
# Create directory structure
|
||||
mkdir -p backend/app/{routers,services,clients,models}
|
||||
mkdir -p frontend/{src,public}
|
||||
|
||||
# Backend Python files
|
||||
cat > backend/__init__.py << 'EOF'
|
||||
# Backend package
|
||||
EOF
|
||||
|
||||
cat > backend/pyproject.toml << 'EOF'
|
||||
[project]
|
||||
name = "firefly-analytics-backend"
|
||||
version = "0.1.0"
|
||||
description = "Firefly III Analytics & Reporting Backend"
|
||||
requires-python = ">=3.11"
|
||||
|
||||
dependencies = [
|
||||
"fastapi==0.104.1",
|
||||
"uvicorn[standard]==0.24.0",
|
||||
"httpx==0.25.2",
|
||||
"python-dotenv==1.0.0",
|
||||
"pydantic==2.5.0",
|
||||
"pydantic-settings==2.1.0",
|
||||
"sqlalchemy==2.0.23",
|
||||
"python-dateutil==2.8.2",
|
||||
"apscheduler==3.10.4",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"pytest==7.4.3",
|
||||
"pytest-asyncio==0.21.1",
|
||||
"black==23.12.0",
|
||||
"ruff==0.1.8",
|
||||
]
|
||||
EOF
|
||||
|
||||
cat > backend/Dockerfile << 'EOF'
|
||||
FROM python:3.11-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY pyproject.toml pyproject.toml
|
||||
COPY app/ app/
|
||||
|
||||
RUN pip install --no-cache-dir -e .
|
||||
RUN mkdir -p /app/data
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
EOF
|
||||
|
||||
cat > backend/app/__init__.py << 'EOF'
|
||||
# Firefly Analytics App
|
||||
EOF
|
||||
|
||||
echo "Backend structure created successfully!"
|
||||
Reference in New Issue
Block a user