Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
9ddc098
update README
Saannddy Feb 7, 2026
c88ad5a
update README
Saannddy Feb 7, 2026
3906c8b
Merge pull request #1 from Saannddy/update-read-me
Saannddy Feb 7, 2026
b798033
Merge pull request #2 from Saannddy/dev
Saannddy Feb 7, 2026
315237e
update github workflow
Saannddy Feb 7, 2026
be1b304
Merge pull request #3 from Saannddy/dev
Saannddy Feb 7, 2026
ae7b3c1
update auto release
Saannddy Feb 7, 2026
d509824
Merge pull request #4 from Saannddy/dev
Saannddy Feb 7, 2026
c4d3c42
feat: Introduce database integration for problems and test cases, ref…
Saannddy Feb 8, 2026
b8e3645
Merge pull request #5 from Saannddy/feat--restructue-repository-and-i…
Saannddy Feb 8, 2026
c8f82b7
Merge pull request #6 from Saannddy/dev
Saannddy Feb 8, 2026
b5a0614
feat: Introduce interactive API documentation via Scalar, an OpenAPI …
Saannddy Feb 8, 2026
05670f4
Merge pull request #7 from Saannddy/implement-api-doc
Saannddy Feb 8, 2026
427662a
Merge pull request #8 from Saannddy/dev
Saannddy Feb 8, 2026
133bec2
refactor: Implement a modular architecture with dedicated service and…
Saannddy Feb 8, 2026
471e2cb
feat: update Bruno request to query problems by tag instead of by ID.
Saannddy Feb 8, 2026
e06b9e2
Merge branch 'dev' into refactor-to-layer-architecture
Saannddy Feb 8, 2026
bf41560
Merge pull request #9 from Saannddy/refactor-to-layer-architecture
Saannddy Feb 8, 2026
8101176
docs: overhaul and expand README with detailed setup instructions, AP…
Saannddy Feb 8, 2026
7dc67ce
docs: update repository clone URL in README.
Saannddy Feb 8, 2026
9409755
Merge pull request #10 from Saannddy/dev
Saannddy Feb 8, 2026
fe3e404
docs: add tooling recommendations to README and update Bruno request …
Saannddy Feb 9, 2026
812c4dd
Merge pull request #11 from Saannddy/dev
Saannddy Feb 9, 2026
7f1ccc4
feat: Migrate from Yoyo to Alembic for database management and refact…
Saannddy Feb 9, 2026
efa5a23
refactor: Refactor database initialization and enhance problem seedin…
Saannddy Feb 9, 2026
ac843a0
refactor: Move seed script to `src/scripts` directory, add basic logg…
Saannddy Feb 9, 2026
ff441a4
Merge pull request #12 from Saannddy/dev
Saannddy Feb 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
env/
venv/
.env
.git
.gitignore
.dockerignore
node_modules/
tests/
code-exec-bruno/
README.md
docker-compose.yml
Dockerfile
postgres/
scripts/
8 changes: 8 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Database Configuration
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=code_executor

# Database Connection URL (used by yoyo-migrations)
# Format: postgresql://user:password@host:port/dbname
DATABASE_URL=postgresql://postgres:postgres@db:5432/code_executor
43 changes: 31 additions & 12 deletions .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,28 @@ jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-depth: 0

- name: Get latest tag
- name: Get latest tag from remote
id: get_tag
run: |
tag=$(git describe --tags --abbrev=0 2>/dev/null || echo "v1.0.0")
# Fetch all tags to ensure we see tags even if they aren't in this branch's history
git fetch --tags --force

# Find the highest version tag using natural version sorting
# Filters for tags starting with 'v'
tag=$(git tag -l "v*" --sort=-v:refname | head -n 1)

# If no tag is found, start at v1.0.0
if [ -z "$tag" ]; then
tag="v1.0.0"
fi

echo "latest_tag=$tag" >> $GITHUB_OUTPUT
echo "Found latest tag: $tag"

- name: Bump version (semantic roll over)
id: bump
Expand All @@ -28,6 +41,7 @@ jobs:
base=${tag#v}
IFS='.' read -r major minor patch <<< "$base"

# Logic: Rolls over to next decimal place if value is 9
if [ "$patch" -lt 9 ]; then
patch=$((patch + 1))
else
Expand All @@ -42,26 +56,31 @@ jobs:

new_tag="v${major}.${minor}.${patch}"
echo "new_tag=$new_tag" >> $GITHUB_OUTPUT
echo "New calculated tag: $new_tag"

- name: Generate changelog
id: changelog
run: |
prev=${{ steps.get_tag.outputs.latest_tag }}
new=${{ steps.bump.outputs.new_tag }}

# If there was no previous tag, show all commits
if [ "$prev" = "v1.0.0" ]; then
log=$(git log --pretty=format:"- %s")
else

# If the latest_tag was the fallback v1.0.0 and doesn't actually exist in git
if git rev-parse "$prev" >/dev/null 2>&1; then
log=$(git log $prev..HEAD --pretty=format:"- %s")
else
log=$(git log --pretty=format:"- %s")
fi

# Handle empty logs
if [ -z "$log" ]; then log="- No changes documented."; fi

echo "changelog<<EOF" >> $GITHUB_OUTPUT
echo "$log" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT

- name: Create new tag
- name: Create and Push Tag
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git tag ${{ steps.bump.outputs.new_tag }}
git push origin ${{ steps.bump.outputs.new_tag }}

Expand All @@ -74,4 +93,4 @@ jobs:
## Changes since last release
${{ steps.changelog.outputs.changelog }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46 changes: 44 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,46 @@
*/tests/*/
*/__pycache__/
# Environment
.env
.venv/
ENV/
env/

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# OS / IDE
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
.vscode/
.idea/

# Database / Tools
*.sqlite
*.db
alembic/versions/__pycache__/
*.class
*.exe
46 changes: 0 additions & 46 deletions API/app.py

This file was deleted.

59 changes: 0 additions & 59 deletions API/config.py

This file was deleted.

116 changes: 0 additions & 116 deletions API/html/index.html

This file was deleted.

2 changes: 0 additions & 2 deletions API/requirements.txt

This file was deleted.

Loading