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

1.0: Procens #8

Draft
wants to merge 48 commits into
base: daddy
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
453d64d
implement the backend of supabase authentication
pixelcmtd Dec 30, 2023
0de0b5e
put the header in its own component and always use the title for the …
pixelcmtd Jan 3, 2024
45a20f7
add a lot of library code for managing users and their profiles
pixelcmtd Jan 3, 2024
6423401
add api/update to update your email and profile
pixelcmtd Jan 3, 2024
9ccd57e
HeaderLogo: also make the title smol
pixelcmtd Jan 4, 2024
64af4e0
merchdesigns: hide the header
pixelcmtd Jan 10, 2024
8f7059b
put the version in the footer, not header
pixelcmtd Jan 10, 2024
1ab941a
split `base` and `backendlib`, implement more for...template storage …
pixelcmtd Jan 11, 2024
f08c674
start implementing checks in the backend
pixelcmtd Jan 14, 2024
b99d1a6
isAvatarValid: also cache `false` and use a sensible ttl with node-cache
pixelcmtd Jan 14, 2024
3d5c557
KinkCheck component: support for readonly checks
pixelcmtd Jan 15, 2024
6c843a5
KinkCheck component: relative sizing
pixelcmtd Jan 15, 2024
d2b5cfc
HeaderLogo: make sure height and margin are correct
pixelcmtd Jan 15, 2024
7999bb1
put everything user management under api/user
pixelcmtd Jan 17, 2024
54bc72e
fix check_revision type and dont abstract away json for serialization
pixelcmtd Jan 20, 2024
b4ee430
more backend functions for getting and creating checks
pixelcmtd Jan 20, 2024
06c74ea
make <Kink /> fully scalable
pixelcmtd Jan 31, 2024
a36bdad
make <KinkCheck /> fully scalable
pixelcmtd Jan 31, 2024
6b48ed9
upgrade/add dependencies and remove some unused code
pixelcmtd Feb 2, 2024
89111d9
try something out with docker uwu 👉👈
pixelcmtd Feb 2, 2024
21e2827
add experimental api endpoint for creating check revisions
pixelcmtd Feb 2, 2024
1f094be
separate <Check> and <KinkCheck>
pixelcmtd Feb 2, 2024
5403335
new template page
pixelcmtd Feb 2, 2024
5fee694
add code for importing old KCCs
pixelcmtd Feb 2, 2024
d4f4447
add LinkCard component
pixelcmtd Feb 2, 2024
0083703
add CheckCard
pixelcmtd Feb 2, 2024
28c5050
new index "landing page"
pixelcmtd Feb 2, 2024
df59e7f
upgrade astro node adapter and try to make docker work
pixelcmtd Feb 2, 2024
f0c79b4
merge test and main workflows and remove architectures
pixelcmtd Feb 2, 2024
e07424f
add more env variables for docker
pixelcmtd Feb 3, 2024
6caaa13
environment variables need to come from process.env 🤦🏻‍♀️
pixelcmtd Feb 5, 2024
15a3cd6
env variable stopgap that works in dev and release
pixelcmtd Feb 19, 2024
3e8b950
all dates gotten from supabase are actually strings
pixelcmtd Mar 16, 2024
9f37241
order check revisions by modified time in the lib code
pixelcmtd Mar 16, 2024
84a23a2
separate profile and username caches
pixelcmtd Mar 29, 2024
a222288
getCheck: dont use template cache
pixelcmtd May 2, 2024
2f191ed
add Avatar component
pixelcmtd May 2, 2024
ab6826d
base: add temporary function for formatting dates
pixelcmtd Jun 29, 2024
d6b6719
replace getTemplateById by 2 separate functions
pixelcmtd Jun 29, 2024
8d34a40
replace getLatestCheckRevision with getCheckRevision
pixelcmtd Jun 29, 2024
34f520f
add a version (revision) selector
pixelcmtd Jun 29, 2024
e51fc42
add UserCard and HeaderMenuItems components
pixelcmtd Jun 29, 2024
6044e79
add Button component
pixelcmtd Jun 29, 2024
547c499
add redirect from `/@[username]` to `/profiles/[id]`
pixelcmtd Jun 29, 2024
fdc65bb
massively overhauled header
pixelcmtd Jun 29, 2024
3c70aed
add register and signin pages
pixelcmtd Jun 29, 2024
ca510ad
add user settings page
pixelcmtd Jun 29, 2024
19da6bf
add user profile and check pages
pixelcmtd Jun 29, 2024
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
38 changes: 38 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Test and publish new container

on:
push:
branches: [daddy, procens]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- run: npm ci
- run: npm run test
docker:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- run: npm ci
- run: npm run build
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- uses: docker/build-push-action@v5
with:
push: true
context: .
platforms: linux/amd64,linux/arm64
tags: chrissx/kinkcheck.top:${{ github.ref_name }}
12 changes: 0 additions & 12 deletions .github/workflows/test.yml

This file was deleted.

21 changes: 21 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM node:lts-alpine
ENV NODE_ENV=production
ENV SUPABASE_URL=
ENV SUPABASE_ANON_KEY=
ENV HCAPTCHA_SITEKEY=
WORKDIR /usr/src/app

# requires buildx/buildkit, which not everything has *yet*
RUN --mount=type=bind,source=package.json,target=package.json \
--mount=type=bind,source=package-lock.json,target=package-lock.json \
--mount=type=cache,target=/root/.npm \
npm ci --omit=dev
#COPY package.json .
#COPY package-lock.json .
#RUN npm ci --omit=dev
#RUN rm package.json package-lock.json

USER node
COPY dist .
EXPOSE 4321
CMD ["node", "server/entry.mjs"]
10 changes: 7 additions & 3 deletions astro.config.mjs
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
import { defineConfig } from 'astro/config';

import node from "@astrojs/node";
import preact from "@astrojs/preact";

// https://astro.build/config
export default defineConfig({
integrations: [preact()]
});
integrations: [preact()],
output: "server",
adapter: node({
mode: "standalone",
})
});
Loading