Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
8e61d3e
fix: update serverless config to have sparcs prefixes
seangaaab Feb 22, 2026
a42d12c
feat: dev containers for participants
kindadailybren Feb 22, 2026
077e17b
feat: added ssm parameters resources to be used by other services
seangaaab Feb 22, 2026
5fbfe7a
feat: added config builder
seangaaab Feb 22, 2026
33dc036
feat: added role for frontend to fetch ssm parameters
seangaaab Feb 22, 2026
b2f442d
fix: update S3 bucket configuration for consistent formatting and naming
ASPactores Feb 22, 2026
083153b
fix: update deployment stage from staging to dev in workflow
ASPactores Feb 22, 2026
7e72119
fix: update service
seangaaab Feb 23, 2026
28836db
docs: added comments to which ssm parameters are added manually
seangaaab Feb 23, 2026
8a3a0de
feat: update deployment workflow to use workflow_run and improve AWS …
ASPactores Feb 23, 2026
466c70c
fix: update generate env script
seangaaab Feb 25, 2026
05f6f8d
feat: added additional ssm parameters
seangaaab Feb 25, 2026
59b3d7d
docs: added contributing.md file
seangaaab Feb 26, 2026
196d002
chore(fe-ci): renamed and updated fe ci
seangaaab Feb 26, 2026
ce83cbc
feat(unit-tests-fe): added unit tests and sample test to fe
seangaaab Feb 26, 2026
6796879
fix: update serverless.yml to include frontend-urls ssm parameters
seangaaab Feb 26, 2026
76c157c
fix: post command on devcontainer.json
kindadailybren Feb 27, 2026
63add1e
fix: install uv beforehand
kindadailybren Feb 27, 2026
de88970
chore: change devcontainer python version to 3.11
kindadailybren Feb 27, 2026
94d34ab
Revise README for TechTix Frontend setup
TxcWb Feb 27, 2026
3234d8c
Enhance README with DevContainer and AWS CLI details
TxcWb Feb 27, 2026
800aecd
fix: update env variable name
seangaaab Feb 27, 2026
167f59d
docs(contributing): Add CONTRIBUTING markdown for backend and update …
jlorion Feb 26, 2026
b6fb029
fix: update generate script
not-sol Feb 28, 2026
5729a31
fix: exposed devcontainer network to host
zcalifornia-ph Feb 28, 2026
4e97d7f
Update payment_handling.py
feevolinto Feb 28, 2026
c917665
Update discount_repository.py
feevolinto Feb 28, 2026
d990055
Update events_repository.py
feevolinto Feb 28, 2026
4ebdf2c
Update payment_transaction_repository.py
feevolinto Feb 28, 2026
e10f00e
Update preregistrations_repository.py
feevolinto Feb 28, 2026
ae77e17
Update registrations_repository.py
feevolinto Feb 28, 2026
28c2e8e
Update repository_utils.py
feevolinto Feb 28, 2026
451f4a6
refactor(perf): added vite-plugin-image-optimizer
alasdiel Feb 28, 2026
31737b2
chore(devcontainers): mount aws cli to enable aws sso
maksdeb-g Feb 28, 2026
82403e8
fix: harden rich text rendering and provide xss unit test coverage
zcalifornia-ph Feb 28, 2026
2aa3982
feat: update css variables for pycon 2026
seangaaab Aug 28, 2026
9a13688
chore: make organization name dynamic in the devenv configuration scr…
ASPactores Aug 29, 2026
ddac3b4
fix: fix sls deployment script
ASPactores Aug 29, 2026
1a4cdca
fix: regenerate package-lock.json
seangaaab Aug 29, 2026
2f10df4
fix: update backend deployment pipeline
seangaaab Aug 29, 2026
9fbf6a5
ci: adjust deployment pipeline to use gh environments
ASPactores Aug 31, 2026
87a9700
ci: make sls logs less verbose
ASPactores Aug 31, 2026
4ec002b
ci: limit prod deployment logs
ASPactores Aug 31, 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
30 changes: 30 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"name": "TechTix Monorepo",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"runArgs": ["--network=host"],
"features": {
"ghcr.io/devcontainers/features/aws-cli:1.1.2": {
},
"ghcr.io/devcontainers/features/node:1": {
"version": "20"
},
"ghcr.io/devcontainers/features/python:1": {
"version": "3.11"
}
},
"mounts": [
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.aws,target=/home/vscode/.aws,type=bind,consistency=cached"
],
"postCreateCommand": "npm install --prefix frontend && cd backend && pip install uv && uv sync",
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"ms-python.python",
"ms-python.vscode-pylance"
]
}
},
"remoteUser": "root"
}
42 changes: 29 additions & 13 deletions .github/workflows/deploy_backend.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
name: Deploy DurianPy Events Service
on:
push:
paths:
- backend/**
branches:
- main
- stage
workflow_run:
workflows: ["Backend Formatting Check on Push"]
types:
- completed
workflow_dispatch:

permissions:
Expand All @@ -14,17 +12,28 @@ permissions:

jobs:
deploy:
name: Deploy (${{ (github.event.workflow_run.head_branch == 'main' || github.ref_name == 'main') && 'prod' || 'staging' }})
if: >-
(github.event_name == 'workflow_run' &&
github.event.workflow_run.conclusion == 'success' &&
(github.event.workflow_run.head_branch == 'main' || github.event.workflow_run.head_branch == 'stage')) ||
(github.event_name == 'workflow_dispatch' &&
(github.ref_name == 'main' || github.ref_name == 'stage'))
runs-on: ubuntu-latest
environment: ${{ (github.event.workflow_run.head_branch == 'main' || github.ref_name == 'main') && 'prod' || 'staging' }}

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ github.event.workflow_run.head_sha || github.sha }}

- name: Set ARN for Role to Assume
run: |
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
BRANCH="${{ github.event.workflow_run.head_branch || github.ref_name }}"
if [[ "$BRANCH" == "main" ]]; then
echo "AWS_OIDC_ROLE_ARN=${{ secrets.AWS_OIDC_ROLE_ARN_PROD }}" >> $GITHUB_ENV
elif [[ "${{ github.ref }}" == "refs/heads/stage" ]]; then
elif [[ "$BRANCH" == "stage" ]]; then
echo "AWS_OIDC_ROLE_ARN=${{ secrets.AWS_OIDC_ROLE_ARN_STAGE }}" >> $GITHUB_ENV
fi

Expand Down Expand Up @@ -61,9 +70,16 @@ jobs:

- name: Deploy with Serverless v3
run: |
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
sls deploy --stage prod --verbose
elif [[ "${{ github.ref }}" == "refs/heads/stage" ]]; then
sls deploy --stage staging --verbose
BRANCH="${{ github.event.workflow_run.head_branch || github.ref_name }}"
if [[ "$BRANCH" == "main" ]]; then
echo "Deploying to production..."
if ! output=$(sls deploy --stage prod --conceal 2>&1); then
echo "Production deployment failed:"
echo "$output"
exit 1
fi
echo "Production deployment completed successfully."
elif [[ "$BRANCH" == "stage" ]]; then
sls deploy --stage staging --conceal
fi
working-directory: backend
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: Deploy stage to main
name: Deploy dev to main

on:
workflow_dispatch:

jobs:
deploy-stage-to-main:
name: Deploy stage to main
deploy-dev-to-main:
name: Deploy dev to main
runs-on: ubuntu-latest
defaults:
run:
Expand All @@ -18,7 +18,7 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: stage
ref: dev
- uses: actions/setup-node@v4
with:
node-version: "22.15"
Expand All @@ -37,12 +37,12 @@ jobs:
uses: trstringer/manual-approval@v1
with:
secret: ${{ secrets.GITHUB_TOKEN }}
approvers: ArJSarmiento,ASPactores,seangaaab
approvers: kindadailybren, prcsmae, seangaaab
minimum-approvals: 1
issue-title: "Deploying stage to main"
issue-title: "Deploying dev to main"
issue-body: "Please approve or deny the deployment."

- name: Sync stage to main
- name: Sync dev to main
uses: connor-baer/action-sync-branch@main
with:
branch: main
Expand Down
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
name: Build and Deploy PR to stage
name: Build and Deploy PR to dev

on:
push:
branches: [stage]
branches: [dev]
pull_request:
branches: [stage]
branches: [dev]
workflow_dispatch:

jobs:
build-and-deploy:
name: Build and Deploy PR to stage
name: Build and Deploy PR to dev
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22.15"
cache: "npm"

- name: Install dependencies
run: npm ci

- name: Check Code Format
run: npm run format:check:ci

- name: Build Project
run: npm run build:dummy

- name: Deploy to Amplify
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
if: github.event_name == 'workflow_dispatch'
run: |
curl -X POST -d '{}' "${{ secrets.AMPLIFY_WEBHOOK_URL }}" -H "Content-Type:application/json"

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
91 changes: 91 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Contributing to the Project

Thank you for your interest in contributing! To maintain a clean history and ensure a smooth development process, we follow a specific workflow. Please follow these guidelines to get started.

---

## 1. Getting Started

### Fork the Repository

First, create your own copy of the repository by clicking the **Fork** button at the top of the page. Clone your fork to your local machine:

```bash
git clone https://github.com/YOUR-USERNAME/repository-name.git
cd repository-name

```

### Configure Upstream

Add the original repository as a remote to keep your local fork in sync:

```bash
git remote add upstream https://github.com/ORIGINAL-OWNER/repository-name.git

```

---

## 2. Branching and Development

### Create a Feature Branch

Before starting any work, create a new branch. We use **Conventional Naming** based on the issue or ticket you are addressing:

- `feat/issue-ID` (e.g., `feat/123-add- login-logic`)
- `fix/issue-ID` (e.g., `fix/456-patch-security-hole`)
- `docs/issue-ID`
- `refactor/issue-ID`

```bash
git checkout -b feat/123-short-description
```

See [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#specification).

### Stay in Sync (Rebase Flow)

Our repository uses a **rebase flow** to keep the history linear. When pulling updates from the main repository, always use the `--rebase` (or `-r`) flag to avoid merge commits:

```bash
git pull -r upstream main

```

---

## 3. Commit Guidelines

We follow the **Conventional Commits** specification. Commits should be structured as follows:

`<type>(<scope>): <description>`

- **feat**: A new feature
- **fix**: A bug fix
- **docs**: Documentation only changes
- **style**: Changes that do not affect the meaning of the code (white-space, formatting, etc)
- **refactor**: A code change that neither fixes a bug nor adds a feature

**Example:**
`feat(auth): add JWT validation to login endpoint`

See [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#specification).

---

## 4. Submitting a Pull Request

Once you have completed your work and verified it locally:

1. **Push to your fork:**

```bash
git push origin your-branch-name
```

2. **Raise a PR:** Navigate to the original repository on GitHub. You will see a prompt to "Compare & pull request" from your fork.
3. **Target Branch:** Ensure your PR is targeting the `main` repository's `dev` or `main` branch as specified in the issue.
4. **Review:** Wait for the maintainers to review your code. We may request changes before merging.

Thank you for helping us improve the project!
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPARCS Events Platform
# DurianPy Events Platform

## Tech Stack
- Serverless Framework
Expand Down
Loading
Loading