Skip to content

Commit 4b44a51

Browse files
committed
Initial commit
0 parents  commit 4b44a51

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+3069
-0
lines changed

.github/funding.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Support the author by using the funding link below
2+
# Developed and maintained by Christian Coduri with the help of awesome contributors.
3+
4+
# Buy Me a Coffee: https://buymeacoffee.com/coduri
5+
buy_me_a_coffee: coduri
6+
7+
# Your support means a lot to me to continue the development of open source project like this.

.github/workflows/ci.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: ci
2+
on:
3+
push:
4+
branches:
5+
- master
6+
- main
7+
permissions:
8+
contents: write
9+
jobs:
10+
deploy:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Configure Git Credentials
15+
run: |
16+
git config user.name github-actions[bot]
17+
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
18+
- uses: actions/setup-python@v5
19+
with:
20+
python-version: 3.x
21+
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
22+
- uses: actions/cache@v4
23+
with:
24+
key: mkdocs-material-${{ env.cache_id }}
25+
path: .cache
26+
restore-keys: |
27+
mkdocs-material-
28+
- run: pip install mkdocs-material
29+
- run: mkdocs gh-deploy --force

.gitignore

Lines changed: 301 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,301 @@
1+
# Created by https://www.toptal.com/developers/gitignore/api/macos,pycharm,python
2+
# Edit at https://www.toptal.com/developers/gitignore?templates=macos,pycharm,python
3+
4+
### macOS ###
5+
# General
6+
.DS_Store
7+
.AppleDouble
8+
.LSOverride
9+
10+
# Icon must end with two \r
11+
Icon
12+
13+
14+
# Thumbnails
15+
._*
16+
17+
# Files that might appear in the root of a volume
18+
.DocumentRevisions-V100
19+
.fseventsd
20+
.Spotlight-V100
21+
.TemporaryItems
22+
.Trashes
23+
.VolumeIcon.icns
24+
.com.apple.timemachine.donotpresent
25+
26+
# Directories potentially created on remote AFP share
27+
.AppleDB
28+
.AppleDesktop
29+
Network Trash Folder
30+
Temporary Items
31+
.apdisk
32+
33+
### macOS Patch ###
34+
# iCloud generated files
35+
*.icloud
36+
37+
### PyCharm ###
38+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
39+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
40+
41+
# User-specific stuff
42+
.idea/
43+
44+
# CMake
45+
cmake-build-*/
46+
47+
# Mongo Explorer plugin
48+
.idea/**/mongoSettings.xml
49+
50+
# File-based project format
51+
*.iws
52+
53+
# IntelliJ
54+
out/
55+
56+
# mpeltonen/sbt-idea plugin
57+
.idea_modules/
58+
59+
# JIRA plugin
60+
atlassian-ide-plugin.xml
61+
62+
# Cursive Clojure plugin
63+
.idea/replstate.xml
64+
65+
# SonarLint plugin
66+
.idea/sonarlint/
67+
68+
# Crashlytics plugin (for Android Studio and IntelliJ)
69+
com_crashlytics_export_strings.xml
70+
crashlytics.properties
71+
crashlytics-build.properties
72+
fabric.properties
73+
74+
# Editor-based Rest Client
75+
.idea/httpRequests
76+
77+
# Android studio 3.1+ serialized cache file
78+
.idea/caches/build_file_checksums.ser
79+
80+
### PyCharm Patch ###
81+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
82+
83+
# *.iml
84+
# modules.xml
85+
# .idea/misc.xml
86+
# *.ipr
87+
88+
# Sonarlint plugin
89+
# https://plugins.jetbrains.com/plugin/7973-sonarlint
90+
.idea/**/sonarlint/
91+
92+
# SonarQube Plugin
93+
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
94+
.idea/**/sonarIssues.xml
95+
96+
# Markdown Navigator plugin
97+
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
98+
.idea/**/markdown-navigator.xml
99+
.idea/**/markdown-navigator-enh.xml
100+
.idea/**/markdown-navigator/
101+
102+
# Cache file creation bug
103+
# See https://youtrack.jetbrains.com/issue/JBR-2257
104+
.idea/$CACHE_FILE$
105+
106+
# CodeStream plugin
107+
# https://plugins.jetbrains.com/plugin/12206-codestream
108+
.idea/codestream.xml
109+
110+
# Azure Toolkit for IntelliJ plugin
111+
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
112+
.idea/**/azureSettings.xml
113+
114+
### Python ###
115+
# Byte-compiled / optimized / DLL files
116+
__pycache__/
117+
*.py[cod]
118+
*$py.class
119+
120+
# C extensions
121+
*.so
122+
123+
# Distribution / packaging
124+
.Python
125+
build/
126+
develop-eggs/
127+
dist/
128+
downloads/
129+
eggs/
130+
.eggs/
131+
lib/
132+
lib64/
133+
parts/
134+
sdist/
135+
var/
136+
wheels/
137+
share/python-wheels/
138+
*.egg-info/
139+
.installed.cfg
140+
*.egg
141+
MANIFEST
142+
143+
# PyInstaller
144+
# Usually these files are written by a python script from a template
145+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
146+
*.manifest
147+
*.spec
148+
149+
# Installer logs
150+
pip-log.txt
151+
pip-delete-this-directory.txt
152+
153+
# Unit test / coverage reports
154+
htmlcov/
155+
.tox/
156+
.nox/
157+
.coverage
158+
.coverage.*
159+
.cache
160+
nosetests.xml
161+
coverage.xml
162+
*.cover
163+
*.py,cover
164+
.hypothesis/
165+
.pytest_cache/
166+
cover/
167+
168+
# Translations
169+
*.mo
170+
*.pot
171+
172+
# Django stuff:
173+
*.log
174+
local_settings.py
175+
db.sqlite3
176+
db.sqlite3-journal
177+
178+
# Flask stuff:
179+
instance/
180+
.webassets-cache
181+
182+
# Scrapy stuff:
183+
.scrapy
184+
185+
# Sphinx documentation
186+
docs/_build/
187+
188+
# PyBuilder
189+
.pybuilder/
190+
target/
191+
192+
# Jupyter Notebook
193+
.ipynb_checkpoints
194+
195+
# IPython
196+
profile_default/
197+
ipython_config.py
198+
199+
# pyenv
200+
# For a library or package, you might want to ignore these files since the code is
201+
# intended to run in multiple environments; otherwise, check them in:
202+
# .python-version
203+
204+
# pipenv
205+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
206+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
207+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
208+
# install all needed dependencies.
209+
#Pipfile.lock
210+
211+
# poetry
212+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
213+
# This is especially recommended for binary packages to ensure reproducibility, and is more
214+
# commonly ignored for libraries.
215+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
216+
#poetry.lock
217+
218+
# pdm
219+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
220+
#pdm.lock
221+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
222+
# in version control.
223+
# https://pdm.fming.dev/#use-with-ide
224+
.pdm.toml
225+
226+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
227+
__pypackages__/
228+
229+
# Celery stuff
230+
celerybeat-schedule
231+
celerybeat.pid
232+
233+
# SageMath parsed files
234+
*.sage.py
235+
236+
# Environments
237+
.env
238+
.venv
239+
env/
240+
venv/
241+
ENV/
242+
env.bak/
243+
venv.bak/
244+
245+
# Spyder project settings
246+
.spyderproject
247+
.spyproject
248+
249+
# Rope project settings
250+
.ropeproject
251+
252+
# mkdocs documentation
253+
/site
254+
255+
# mypy
256+
.mypy_cache/
257+
.dmypy.json
258+
dmypy.json
259+
260+
# Pyre type checker
261+
.pyre/
262+
263+
# pytype static type analyzer
264+
.pytype/
265+
266+
# Cython debug symbols
267+
cython_debug/
268+
269+
# PyCharm
270+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
271+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
272+
# and can be added to the global gitignore or merged into this file. For a more nuclear
273+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
274+
#.idea/
275+
276+
### Python Patch ###
277+
# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
278+
poetry.toml
279+
280+
# ruff
281+
.ruff_cache/
282+
283+
# LSP config files
284+
pyrightconfig.json
285+
286+
# End of https://www.toptal.com/developers/gitignore/api/macos,pycharm,python
287+
288+
289+
290+
291+
292+
# Ignore all files except .gitkeep
293+
# The .gitkeep file is used to ensure the empty folder is committed to the repository.
294+
scripts/images/output/*
295+
!script/images/output/.gitkeep
296+
297+
web_app/static/output/*
298+
!web_app/static/output/.gitkeep
299+
300+
web_app/static/uploads/*
301+
!web_app/static/uploads/.gitkeep

LICENSE.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Christian Coduri
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

docs/assets/design.png

68.6 KB
Loading

docs/assets/ghost.svg

Lines changed: 18 additions & 0 deletions
Loading

docs/assets/readme/web_dec1.png

246 KB
Loading

docs/assets/readme/web_dec2.png

622 KB
Loading

docs/assets/readme/web_enc1.png

242 KB
Loading

docs/assets/readme/web_enc2.png

1.35 MB
Loading

0 commit comments

Comments
 (0)