Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: split backend and frontend service #215

Draft
wants to merge 23 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ea52b0a
chore: init backend folder
Johannes-Andersen Dec 20, 2023
0da1894
feat: add CODEOWNERS
Johannes-Andersen Dec 20, 2023
0d85289
feat: init frontend folder
Johannes-Andersen Dec 20, 2023
651b7dc
Merge branch 'main' into feat/splitBackendAndFrontend
Johannes-Andersen Dec 20, 2023
ffe364f
chore: move dockerfiles around
Johannes-Andersen Dec 20, 2023
d9af664
feat: attempt to add frontend to docker-compose
Johannes-Andersen Dec 20, 2023
5e12f46
fix: backend command in docker-compose.yaml
Johannes-Andersen Dec 20, 2023
287a770
fix: attempt to set workflow working-directory
Johannes-Andersen Dec 20, 2023
e82a8c1
chore: gitignore cleanup
Johannes-Andersen Dec 20, 2023
589e814
feat: start moving landing page styles over
Johannes-Andersen Dec 22, 2023
15dc625
docs: split up docs
Johannes-Andersen Dec 23, 2023
243cc7c
chore: more semantic html
Johannes-Andersen Dec 23, 2023
ad637b1
feat: start styling upload
Johannes-Andersen Dec 23, 2023
ee674e2
feat: add logger and CSP
Johannes-Andersen Dec 23, 2023
8823210
feat: more upload styling
Johannes-Andersen Dec 23, 2023
62c6b4e
chore: use accentColor
Johannes-Andersen Dec 23, 2023
d971f8f
fix: attempt to fix ALLOWED_WEBHOOKS_FILE in test
Johannes-Andersen Dec 23, 2023
7ae1c3e
fix: attempt 2 to fix allowed_webhooks
Johannes-Andersen Dec 23, 2023
093a946
fix: commit allowed_webhooks test fixture
Johannes-Andersen Dec 23, 2023
5d4035d
fix: attempt number 10? to get test working
Johannes-Andersen Dec 23, 2023
6571050
fix: another attempt, upload-shared-tmp move
Johannes-Andersen Dec 23, 2023
93cdf03
feat: add file validation
Johannes-Andersen Dec 23, 2023
d97e659
feat: multi file upload
Johannes-Andersen Dec 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
@@ -0,0 +1,15 @@
# Core WAAS team will be pinged if there is no specific owner
* @jgorset @johannes-andersen @3ddyBoi @auduny


# Backend/Python developers
/backend/ @jgorset @johannes-andersen

# Frontend developers
/frontend/ @johannes-andersen @3ddyBoi @auduny

# Ops
Dockerfile @auduny @johannes-andersen
Dockerfile.gpu @auduny @johannes-andersen
docker-compose.yaml @auduny @johannes-andersen
/.devcontainer/ @auduny @johannes-andersen
21 changes: 20 additions & 1 deletion .github/workflows/test.yaml
Expand Up @@ -7,11 +7,14 @@ on:
branches: ["main"]

jobs:
test:
backend:
# Linux runner
runs-on: ubuntu-latest
# Container image that the job will run in
container: python:3.10
defaults:
run:
working-directory: ./backend

# Service containers
services:
Expand All @@ -27,10 +30,26 @@ jobs:
- uses: actions/checkout@v4
- name: Install dependencies
run: pip install -r requirements.txt

- name: Install requirements (ffmpeg)
run: |
apt-get update
apt-get install -y ffmpeg

- name: Test with pytest
run: |
pytest

frontend:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend

steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: npm ci

- name: Build
run: npm run build
163 changes: 129 additions & 34 deletions .gitignore
@@ -1,16 +1,110 @@
### Astro ###
.astro

### Git ###
# Created by git for backups. To disable backups in Git:
# $ git config --global mergetool.keepBackup false
*.orig

# Created by git when using merge tools for conflicts
*.BACKUP.*
*.BASE.*
*.LOCAL.*
*.REMOTE.*
*_BACKUP_*.txt
*_BASE_*.txt
*_LOCAL_*.txt
*_REMOTE_*.txt

### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coveragel
coverage
*.lcov

# nyc test coverage
.nyc_output

# Dependency directories
node_modules/
jspm_packages/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
.envrc

.cache

# vuepress v2.x temp and cache directory
.temp

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Config file for webhooks
allowed_webhooks.json
!tests/fixtures/allowed_webhooks.json

# C extensions
*.so
Pipfile
Pipfile.lock

# Distribution / packaging
.Python
build/
Expand All @@ -25,7 +119,6 @@ parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
Expand All @@ -48,20 +141,19 @@ htmlcov/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
Expand All @@ -77,6 +169,7 @@ instance/
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
Expand All @@ -90,13 +183,16 @@ ipython_config.py
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
Pipfile.lock

# poetry
poetry.lock

# pdm
pdm.lock
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
Expand All @@ -107,39 +203,38 @@ celerybeat.pid
*.sage.py

# Environments
.env
.envrc
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets

# Rope project settings
.ropeproject
# Local History for Visual Studio Code
.history/

# mkdocs documentation
/site
# Built Visual Studio Code Extensions
*.vsix

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

#macOS files
.DS_store
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide

# Testfiles
testfiles

#Uploads
upload-shared-tmp

# Config file for webhooks
allowed_webhooks.json
!backend/tests/fixtures/allowed_webhooks.json