Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
c96623f
donation page
KF212132 Feb 26, 2026
088e97c
Updated Readme
KF212132 Feb 26, 2026
cc03a47
donation page
KF212132 Mar 12, 2026
4cf79f7
Donation API
KF212132 Mar 26, 2026
50ed30c
fetch event in homepage and notification, change seed for notificatio…
nguyenpham18 Mar 28, 2026
2fe0b91
fix: geocoding and location updates for event editing through patch i…
ms-mrvl Mar 28, 2026
5b329e3
images now load correctly and button is fixed
KF212132 Apr 6, 2026
74d4954
added api endpoint for volunteer hour log page
nguyenpham18 Apr 7, 2026
5b90bd3
feat: mobile clinic locator works for upcoming events, and mobile cli…
ms-mrvl Apr 9, 2026
2b0da40
donation homepage
KF212132 Apr 9, 2026
8309132
added api endpoint to volunteer hour log page, but need the login to …
nguyenpham18 Apr 9, 2026
09031d4
fix: changed event tile button
ms-mrvl Apr 9, 2026
cbdbe10
fetch event on main event page
nguyenpham18 Apr 16, 2026
8310165
merged main into this branch
nguyenpham18 Apr 16, 2026
f5b2dd1
updated the event API
nguyenpham18 Apr 16, 2026
5b5a20d
Merge pull request #120 from UTDallasEPICS/88-make-volunteer-hour-log…
nguyenpham18 Apr 23, 2026
cbb0cfb
merged with main
nguyenpham18 Apr 23, 2026
f9b38c6
fetch upcoming on event page
nguyenpham18 Apr 23, 2026
f8cdde3
image
KF212132 Apr 29, 2026
1f06950
fi
KF212132 Apr 29, 2026
48d9efa
feat: Add schedule to mobile clinic -> display on frontend still need…
ms-mrvl Apr 30, 2026
8dfe884
fix: weekly shcedule generation and map interaction for mobile clinic…
ms-mrvl Apr 30, 2026
3bf0820
event signups
KF212132 Apr 30, 2026
4b0f0b5
git
KF212132 Apr 30, 2026
0dc80ec
Change pnpx to pnpm for Prisma commands in README
KF212132 May 7, 2026
87c3791
Update deployment instructions for ECS cluster
KF212132 May 7, 2026
ec06d8d
Update deployment endpoint to NPTS ECS cluster
Vikachubro21 May 7, 2026
de528e5
pwa
lavanyabansal03 May 8, 2026
7977a08
chore: update pnpm-lock and workspaces for better practices
Vikachubro21 May 11, 2026
bda4d44
Merge pull request #111 from UTDallasEPICS/donationapi
Vikachubro21 May 11, 2026
f435fc9
Merge branch 'spring26' into event-page-maps
Vikachubro21 May 11, 2026
479b0b2
chore: update workspace yaml and add logging to API
Vikachubro21 May 12, 2026
d54bb9f
Merge pull request #113 from UTDallasEPICS/event-page-maps
Vikachubro21 May 12, 2026
cb5a740
Merge branch 'spring26' into 94-add-event-fetch-from-database
Vikachubro21 May 12, 2026
81d551f
lint event fetch
Vikachubro21 May 12, 2026
294f3cc
fix: image storage in database resolved + lint
Vikachubro21 May 12, 2026
f88fe88
chore: fix some notifications issues
Vikachubro21 May 12, 2026
f200578
Merge pull request #122 from UTDallasEPICS/94-add-event-fetch-from-da…
Vikachubro21 May 12, 2026
7021e81
Merge branch 'spring26' into mobile-clinic-locator
Vikachubro21 May 12, 2026
94a747e
chore: linting
Vikachubro21 May 12, 2026
02908d7
chore: clean commits
Vikachubro21 May 12, 2026
e08742a
Merge branch 'spring26' into mobile-clinic-locator
Vikachubro21 May 12, 2026
b2eecd1
chore: linting + event click
Vikachubro21 May 12, 2026
65b236f
Merge pull request #124 from UTDallasEPICS/mobile-clinic-locator
Vikachubro21 May 12, 2026
3aa6161
Merge pull request #128 from UTDallasEPICS/KF212132-patch-1
Vikachubro21 May 12, 2026
db05fb3
Merge branch 'spring26' into fiximagedeletion
Vikachubro21 May 13, 2026
e3adb0a
chore: update event image fetching to more consistently display images
Vikachubro21 May 13, 2026
2fef7af
Merge pull request #130 from UTDallasEPICS/fiximagedeletion
Vikachubro21 May 13, 2026
a835c68
Merge branch 'spring26' into pwa
Vikachubro21 May 13, 2026
8664412
chore: update deps
Vikachubro21 May 13, 2026
13c9cc6
chore: update webmanifest + nuxt.config
Vikachubro21 May 13, 2026
3104510
Merge pull request #131 from UTDallasEPICS/pwa
Vikachubro21 May 13, 2026
5e28768
chore: test build with new pnpm version and dockerfile + more
Vikachubro21 May 13, 2026
2c5291a
chore: update entrypoint to remove seeding
Vikachubro21 May 13, 2026
743a6c0
Merge pull request #132 from UTDallasEPICS/spring26
Vikachubro21 May 13, 2026
b52a3e4
fix: update all imports to use #server instead of ~~/server + migrate db
Vikachubro21 May 13, 2026
032afc7
Merge pull request #133 from UTDallasEPICS/spring26
Vikachubro21 May 13, 2026
2f71c32
chore: update dependencies for semester push
Vikachubro21 May 13, 2026
bad49bd
Merge pull request #134 from UTDallasEPICS/spring26
Vikachubro21 May 13, 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
9 changes: 9 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Dockerfile
.dockerignore
.git/
.env
node_modules/
.nuxt/
.output/
server/utils/generated/
README.md
12 changes: 5 additions & 7 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,31 +10,29 @@ jobs:
permissions:
id-token: write # This is required for requesting the JWT
runs-on: ubuntu-24.04-arm

steps:
- name: Checkout code
uses: actions/checkout@v3

# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v1

- name: configure aws credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.ACTIONS_ROLE_ARN }}
role-session-name: GitHub_to_AWS_via_FederatedOIDC
aws-region: us-east-2

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2

- name: Build and Push Docker image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
REPOSITORY: ${{ vars.REPOSITORY }}
IMAGE_TAG: ${{ github.sha }}
DATABASE_URL: 'file:./dev.db'
DATABASE_URL: "file:./dev.db"
CLUSTER_NAME: ${{ secrets.CLUSTER_NAME }}
SERVICE_NAME: ${{ vars.REPOSITORY }}-prod-service
run: |
docker build --output type=image,push=true --platform linux/arm64 -t $ECR_REGISTRY/$REPOSITORY:$IMAGE_TAG .
docker build --output type=image,push=true --platform linux/arm64 -t $ECR_REGISTRY/$REPOSITORY:prod .
aws ecs update-service --cluster $CLUSTER_NAME --service $SERVICE_NAME --force-new-deployment --output text --query "service.serviceName" >/dev/null
echo "The ECS service will update now"
31 changes: 13 additions & 18 deletions .github/workflows/stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,39 +5,34 @@ on:
branches:
- stage

env:
DATABASE_URL:"file:./prisma/dev.db"

jobs:
build:
permissions:
id-token: write # This is required for requesting the JWT
runs-on: ubuntu-latest

runs-on: ubuntu-24.04-arm
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v1
- name: configure aws credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::654654236858:role/GithubActions
role-to-assume: ${{ secrets.ACTIONS_ROLE_ARN }}
role-session-name: GitHub_to_AWS_via_FederatedOIDC
aws-region: us-east-2

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2

- name: Build and Push Docker image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry}}
REPOSITORY: abide-connect
IMAGE_TAG: ${{ github.sha}}-stage
DATABASE_URL: "file:./prisma/dev.db"
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
REPOSITORY: ${{ vars.REPOSITORY }}
IMAGE_TAG: ${{ github.sha }}
DATABASE_URL: "file:./dev.db"
CLUSTER_NAME: ${{ secrets.CLUSTER_NAME }}
SERVICE_NAME: ${{ vars.REPOSITORY }}-stage-service
run: |
docker buildx build --output type=image,push=true --platform linux/arm64 -t $ECR_REGISTRY/$REPOSITORY:$IMAGE_TAG .
docker buildx build --output type=image,push=true --platform linux/arm64 -t $ECR_REGISTRY/$REPOSITORY:stage .
docker build --output type=image,push=true --platform linux/arm64 -t $ECR_REGISTRY/$REPOSITORY:stage .
aws ecs update-service --cluster $CLUSTER_NAME --service $SERVICE_NAME --force-new-deployment --output text --query "service.serviceName" >/dev/null
echo "The ECS service will update now"
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ logs

# Prisma related files
prisma/dev.db
prisma/migrations
.vscode/*

.vscode/*
server/utils/generated/
44 changes: 44 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Build container
FROM node:lts-alpine AS builder

# Use Workdir because things like tailwind will scan the entire current dir and can cause issues if it scans root
WORKDIR /app

COPY package.json ./
COPY pnpm-lock.yaml ./
COPY pnpm-workspace.yaml ./

ENV PNPM_HOME="~/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN npm i -g pnpm

RUN pnpm i --frozen-lockfile

COPY . ./
RUN pnpm prisma generate
RUN pnpm run build

# Deployment container
FROM node:lts-alpine AS deployment
WORKDIR /app
# Copy stuff from build container to ensure we have prisma and everything it needs
COPY --from=builder /app/.output ./
COPY --from=builder /app/package.json ./
COPY --from=builder /app/pnpm-lock.yaml ./
COPY --from=builder /app/pnpm-workspace.yaml ./
COPY --from=builder /app/prisma ./prisma
COPY --from=builder /app/prisma.config.ts ./
RUN npm i -g pnpm

# Install Prisma without running any scripts to avoid running nuxt scripts
RUN pnpm i --dev --ignore-scripts --frozen-lockfile
# Run the build scripts needed for prisma to work (for migrations and seeding)
RUN pnpm rebuild esbuild better-sqlite3 @prisma/engines prisma
RUN pnpm prisma generate
COPY --from=builder /app/entrypoint.sh /entrypoint

# Ensure we can actually run the entrypoint script
RUN chmod +x /entrypoint
EXPOSE 3000
ENTRYPOINT ["/entrypoint"]
CMD ["node", "./server/index.mjs"]
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ Post-Signup Volunteer Dashboard

Admin Dashboard (Admin only)
- Overview Panel
- Event management
- Training Certificate approval
- Volunteer hour log approval
- Donation fund creation

Event Management
- Add Event (options: volunteer-only, public, internal)
Expand Down Expand Up @@ -86,16 +86,16 @@ Next, make sure to create a `.env` file based on the `.env.example` file and fil
Then, initialize prisma client.

```bash
pnpx prisma generate
pnpm prisma generate
```

The generated client will be placed in `/server/utils/generated/prisma`.

Next, migrate and seed the database.

```bash
pnpx prisma migrate dev
pnpx prisma db seed
pnpm prisma migrate dev
pnpm prisma db seed
```

You are now ready to use/deploy the app!
Expand All @@ -121,8 +121,8 @@ After performing database operations, it may be good to reset the database to en
In order to achieve this, run the following commands:

```bash
pnpx prisma migrate reset
pnpx prisma db seed
pnpm prisma migrate reset
pnpm prisma db seed
```

### Production
Expand All @@ -140,4 +140,4 @@ pnpm run build
## Deploying to Production

There is currently a Github Actions flow setup such that for each commit to main, a new build is created and dockerized.
We can then manually deploy to the NPTS EC2 instances for prod and staging that are currently set up.
This then gets automatically deployed to the NPTS ECS cluster.
2 changes: 1 addition & 1 deletion app/app.config.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export default defineAppConfig({});
export default defineAppConfig({})
12 changes: 11 additions & 1 deletion app/app.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
<template>
<UApp>
<Head>
<Link
rel="manifest"
href="/manifest.json"
/>
<Meta
name="theme-color"
content="#00786F"
/>
</Head>
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
</UApp>
</template>
</template>
Loading
Loading