Skip to content

Commit 7bd23c5

Browse files
Merged server rewrite with events branch
2 parents 44d45e0 + 9e9fe71 commit 7bd23c5

215 files changed

Lines changed: 14418 additions & 10225 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,21 @@ jobs:
3131
working-directory: ${{ matrix.component }}
3232

3333
- name: Generate Prisma Types from Schema
34-
run: npx prisma generate
34+
run: pnpm prisma generate
3535
if: ${{ matrix.component == 'server' }}
3636
working-directory: server
3737

38+
- name: Generate GraphQL Types
39+
run: pnpm graphql
40+
if: ${{ matrix.component == 'server' }}
41+
working-directory: server
42+
43+
- name: Lint
44+
run: pnpm run lint
45+
# Only running in server currently - need to fix more linting issues in client first
46+
if: ${{ matrix.component == 'server' }}
47+
working-directory: ${{ matrix.component }}
48+
3849
- name: Build
3950
run: pnpm run build
4051
working-directory: ${{ matrix.component }}

README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,33 @@ Clone the repository:
3030
## Documentation
3131

3232
For more information, see our [Confluence space](https://devsoc.atlassian.net/wiki/spaces/N/overview?homepageId=1572869).
33+
34+
## Quick Start
35+
36+
### Server (`/server`)
37+
38+
1. Configure environment & authentication:
39+
- Copy the template and fill in the values: `cp .env.example .env`
40+
- (Optional) To enable real OAuth login, create an OAuth app with a provider
41+
(GitHub or Google) and set its Client ID / Secret and redirect
42+
URI in `.env`. Guest login works without any OAuth setup.
43+
44+
2. Install and run:
45+
46+
```bash
47+
cd server
48+
pnpm i
49+
docker compose up -d # start the Postgres container
50+
pnpm prisma generate # generate the Prisma client
51+
pnpm prisma migrate dev # apply migrations (create tables)
52+
pnpm run graphql # generate GraphQL types
53+
pnpm run start
54+
```
55+
56+
### Client (`/client`)
57+
58+
```bash
59+
cd client
60+
pnpm i
61+
pnpm run start
62+
```

client/eslint.config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export default tseslint.config(
4545
},
4646
},
4747
rules: {
48+
'react/prop-types': 'off',
4849
'simple-import-sort/imports': 'error',
4950
'simple-import-sort/exports': 'error',
5051
'no-unused-vars': 'off',

client/package.json

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -16,38 +16,44 @@
1616
"format": "prettier --write 'src/**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}'"
1717
},
1818
"dependencies": {
19-
"@apollo/client": "3.13.8",
19+
"@apollo/client": "4.0.4",
2020
"@emotion/react": "11.14.0",
2121
"@emotion/styled": "11.14.1",
2222
"@fontsource-variable/roboto-flex": "5.2.6",
2323
"@hello-pangea/dnd": "18.0.1",
2424
"@heroicons/react": "2.2.0",
25-
"@microsoft/clarity": "1.0.0",
26-
"@mui/icons-material": "5.17.1",
27-
"@mui/lab": "5.0.0-alpha.176",
28-
"@mui/material": "5.17.1",
29-
"@mui/system": "5.17.1",
30-
"@mui/x-date-pickers": "6.20.2",
31-
"@uiw/react-color": "2.7.1",
32-
"axios": "1.18.1",
25+
"@mui/icons-material": "7.3.2",
26+
"@mui/lab": "7.0.0-beta.17",
27+
"@mui/material": "7.3.2",
28+
"@mui/system": "7.3.2",
29+
"@mui/x-date-pickers": "8.11.1",
30+
"@sentry/browser": "10.10.0",
31+
"@sentry/node": "10.10.0",
32+
"@sentry/react": "10.10.0",
33+
"@tanstack/react-query": "5.86.0",
34+
"@uiw/react-color": "2.8.0",
35+
"axios": "1.11.0",
3336
"clsx": "2.1.1",
3437
"colorizr": "3.0.8",
35-
"date-fns": "2.30.0",
36-
"dayjs": "1.11.13",
38+
"date-fns": "4.1.0",
39+
"dayjs": "1.11.18",
3740
"file-saver": "2.0.5",
38-
"framer-motion": "12.23.3",
41+
"framer-motion": "12.23.12",
3942
"fuse.js": "7.1.0",
43+
"graphql": "16.11.0",
4044
"ics": "3.8.1",
4145
"is-base64": "1.1.0",
42-
"lodash-es": "4.18.1",
43-
"react": "18.3.1",
44-
"react-dom": "18.3.1",
45-
"react-router-dom": "6.30.0",
46+
"lodash-es": "4.17.21",
47+
"react": "19.1.1",
48+
"react-dom": "19.1.1",
49+
"react-router": "7.8.2",
50+
"react-image-crop": "11.0.10",
4651
"react-transition-group": "4.4.5",
4752
"react-window": "1.8.11",
53+
"rxjs": "7.8.2",
4854
"tailwind-merge": "3.3.1",
49-
"uuid": "14.0.0",
50-
"web-vitals": "4.2.4",
55+
"uuid": "11.1.0",
56+
"web-vitals": "5.1.0",
5157
"workbox-background-sync": "7.3.0",
5258
"workbox-broadcast-update": "7.3.0",
5359
"workbox-cacheable-response": "7.3.0",
@@ -74,38 +80,38 @@
7480
]
7581
},
7682
"devDependencies": {
77-
"@eslint/js": "9.31.0",
78-
"@tailwindcss/postcss": "4.1.11",
79-
"@tanstack/eslint-plugin-query": "5.83.1",
83+
"@eslint/js": "9.34.0",
84+
"@tailwindcss/postcss": "4.1.13",
85+
"@tanstack/eslint-plugin-query": "5.86.0",
86+
"@tanstack/react-query-devtools": "5.86.0",
8087
"@types/file-saver": "2.0.7",
8188
"@types/is-base64": "1.1.3",
8289
"@types/lodash-es": "4.17.12",
8390
"@types/node": "22.15.30",
84-
"@types/react": "18.3.20",
85-
"@types/react-dom": "18.3.7",
86-
"@types/react-router-dom": "5.3.3",
91+
"@types/react": "19.1.12",
92+
"@types/react-dom": "19.1.9",
8793
"@types/react-transition-group": "4.4.12",
8894
"@types/react-window": "1.8.8",
89-
"@vitejs/plugin-react-swc": "3.10.2",
95+
"@vitejs/plugin-react-swc": "4.0.1",
9096
"autoprefixer": "10.4.21",
91-
"eslint": "9.31.0",
92-
"eslint-config-prettier": "10.1.5",
93-
"eslint-plugin-prettier": "5.5.1",
97+
"eslint": "9.34.0",
98+
"eslint-config-prettier": "10.1.8",
99+
"eslint-plugin-prettier": "5.5.4",
94100
"eslint-plugin-react": "7.37.5",
95101
"eslint-plugin-react-hooks": "5.2.0",
96102
"eslint-plugin-simple-import-sort": "12.1.1",
97-
"eslint-plugin-unused-imports": "4.1.4",
103+
"eslint-plugin-unused-imports": "4.2.0",
98104
"globals": "16.3.0",
99105
"jsdom": "26.1.0",
100106
"postcss": "8.5.6",
101107
"prettier": "3.6.2",
102-
"tailwindcss": "4.1.11",
103-
"typescript": "5.8.3",
104-
"typescript-eslint": "8.37.0",
105-
"vite": "7.1.5",
108+
"tailwindcss": "4.1.13",
109+
"typescript": "5.9.2",
110+
"typescript-eslint": "8.42.0",
111+
"vite": "7.1.4",
106112
"vite-bundle-visualizer": "1.2.1",
107113
"vite-tsconfig-paths": "5.1.4",
108114
"vitest": "3.2.4"
109115
},
110-
"packageManager": "pnpm@10.13.1+sha512.37ebf1a5c7a30d5fabe0c5df44ee8da4c965ca0c5af3dbab28c3a1681b70a256218d05c81c9c0dcf767ef6b8551eb5b960042b9ed4300c59242336377e01cfad"
116+
"packageManager": "pnpm@10.15.1+sha512.34e538c329b5553014ca8e8f4535997f96180a1d0f614339357449935350d924e22f8614682191264ec33d1462ac21561aff97f6bb18065351c162c7e8f6de67"
111117
}

0 commit comments

Comments
 (0)