Compare commits

...

No commits in common. "095695ca38d26f4da0509abab1a95759cf4d0a9c" and "main" have entirely different histories.

1772 changed files with 1606 additions and 3541 deletions

4
.gitignore vendored
View File

@ -1,5 +1,7 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
pgdata
# dependencies
/node_modules
/.pnp
@ -39,3 +41,5 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts
media

3
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"recommendations": ["denoland.vscode-deno"]
}

24
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,24 @@
{
"deno.enablePaths": [
"supabase/functions"
],
"deno.lint": true,
"deno.unstable": [
"bare-node-builtins",
"byonm",
"sloppy-imports",
"unsafe-proto",
"webgpu",
"broadcast-channel",
"worker-options",
"cron",
"kv",
"ffi",
"fs",
"http",
"net"
],
"[typescript]": {
"editor.defaultFormatter": "denoland.vscode-deno"
}
}

28
Dockerfile Normal file
View File

@ -0,0 +1,28 @@
FROM node:22-slim AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
# Stage 1: Install dependencies
FROM base AS deps
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
# Stage 2: Build the application
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN pnpm run build
# Stage 3: Production server
FROM base AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
EXPOSE 3000
CMD ["pnpm", "run", "server.js"]

View File

@ -1,5 +1,11 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
## Dev to-do list
- [x] set up PostgreSQL on Catalyst
- [x] install PayloadCMS
- [ ] get basic config working
## Getting Started
First, run the development server:

View File

@ -1,16 +1,45 @@
---
services:
postgres:
image: postgres:12.18
restart: always
web:
build: .
ports:
- "5432:5432"
- "3000:3000"
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=admin
- POSTGRES_DB=website
- NODE_ENV=production
depends_on:
- db
networks:
- my_network
db:
image: postgres:latest
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
# ports:
# this exposes the database to the public ... do we want that??
# - "5432:5432"
volumes:
- ial-website-data:/var/lib/postgresql/data
- postgres_data:/var/lib/postgresql/data
networks:
- my_network
cron:
image: alpine/curl
command: >
sh -c "
echo '*/10 * * * * curl -X POST http://web:3000/db/clear' > /etc/crontabs/root && \
crond -f -l 2
"
depends_on:
- web
networks:
- my_network
volumes:
ial-website-data:
postgres_data:
networks:
my_network:
name: my_network
driver: bridge

View File

@ -1,16 +0,0 @@
import { dirname } from "path";
import { fileURLToPath } from "url";
import { FlatCompat } from "@eslint/eslintrc";
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const compat = new FlatCompat({
baseDirectory: __dirname,
});
const eslintConfig = [
...compat.extends("next/core-web-vitals", "next/typescript"),
];
export default eslintConfig;

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

BIN
media/images/pigeon.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

View File

@ -1,8 +1,10 @@
import type { NextConfig } from "next";
import withPayload from "@payloadcms/next/withPayload";
import {withPayload} from "@payloadcms/next/withPayload";
const nextConfig: NextConfig = {
/* config options here */
output: "standalone",
compress: false,
};
export default withPayload(nextConfig);

View File

@ -1,37 +1,50 @@
{
"name": "ial-website-2",
"name": "ial-website",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "next dev --turbo",
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
"start": "node .next/standalone/server.js",
"lint": "next lint",
"payload": "cross-env PAYLOAD_CONFIG_PATH=./payload.config.ts payload"
},
"type": "module",
"dependencies": {
"@heroicons/react": "^2.2.0",
"@payloadcms/db-postgres": "^3.35.1",
"@payloadcms/next": "^3.35.1",
"@payloadcms/richtext-lexical": "^3.35.1",
"@tailwindcss/postcss": "^4.1.4",
"cross-env": "^7.0.3",
"dayjs": "^1.11.13",
"graphql": "^16.10.0",
"next": "15.3.1",
"motion": "^12.7.4",
"next": "15.2.4",
"payload": "^3.35.1",
"pg": "8.11.3",
"pg": "^8.14.1",
"postcss": "^8.5.3",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"sharp": "^0.34.1",
"tailwindcss": "^4.1.4"
"react": "^19.1.0",
"react-dom": "^19.1.0",
"sharp": "^0.33.5",
"tailwind-merge": "^3.2.0"
},
"devDependencies": {
"@eslint/eslintrc": "^3",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"eslint": "^9",
"eslint-config-next": "15.3.1",
"@tailwindcss/postcss": "^4.1.4",
"@tailwindcss/typography": "^0.5.16",
"@types/node": "^20.17.30",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"clsx": "^2.1.1",
"prettier": "^3.5.3",
"typescript": "^5"
"tailwindcss": "^4.1.4",
"typescript": "^5.8.3"
},
"pnpm": {
"onlyBuiltDependencies": [
"@swc/core",
"core-js",
"es5-ext",
"sharp"
]
}
}

View File

@ -1 +0,0 @@
12

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

View File

View File

Binary file not shown.

View File

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

View File

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More