Skip to content

Commit 42ee0b3

Browse files
committed
chore: first commit
0 parents  commit 42ee0b3

File tree

479 files changed

+64561
-0
lines changed

Some content is hidden

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

479 files changed

+64561
-0
lines changed

.devcontainer/devcontainer.json

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{
2+
"name": "Debian",
3+
"image": "mcr.microsoft.com/devcontainers/base:bullseye",
4+
"features": {
5+
"ghcr.io/devcontainers/features/dotnet:2": {},
6+
"ghcr.io/devcontainers/features/java:1": {
7+
"installGradle": true,
8+
"installMaven": true,
9+
"version": "21",
10+
"jdkDistro": "ms",
11+
"gradleVersion": "latest",
12+
"mavenVersion": "latest"
13+
},
14+
"ghcr.io/devcontainers/features/node:1": {},
15+
"ghcr.io/devcontainers/features/python:1": {},
16+
"ghcr.io/devcontainers-contrib/features/ts-node:1": {},
17+
"ghcr.io/devcontainers/features/sshd:1": {},
18+
"ghcr.io/warrenbuckley/codespace-features/sqlite:1": {},
19+
"ghcr.io/devcontainers/features/github-cli:1": {},
20+
"ghcr.io/devcontainers-extra/features/vercel-cli:1": {},
21+
"ghcr.io/audacioustux/devcontainers/flyctl:1": {},
22+
"ghcr.io/itsmechlark/features/redis-server:1": {}
23+
},
24+
"portsAttributes": {
25+
"80": {
26+
"requireLocalPort": true,
27+
"elevateIfNeeded": true
28+
}
29+
},
30+
"customizations": {
31+
"vscode": {
32+
"extensions": [
33+
"vscjava.vscode-gradle",
34+
"Oracle.oracle-java",
35+
"esbenp.prettier-vscode",
36+
"donjayamanne.python-extension-pack",
37+
"ms-vscode.vscode-typescript-next",
38+
"ms-dotnettools.csdevkit",
39+
"ritwickdey.LiveServer",
40+
"mechatroner.rainbow-csv",
41+
"alexcvzz.vscode-sqlite",
42+
"Orta.vscode-jest",
43+
"firsttris.vscode-jest-runner",
44+
"bierner.lit-html"
45+
],
46+
"settings": {
47+
"terminal.integrated.defaultProfile.linux": "zsh",
48+
"terminal.integrated.profiles.linux": { "zsh": { "path": "/bin/zsh" } }
49+
}
50+
}
51+
}
52+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Check Fullstack Demo Java Pull Request
2+
3+
on:
4+
pull_request:
5+
branches: [ "main" ]
6+
paths:
7+
- ".github/workflows/check_fullstack_demo_java_pr.yaml"
8+
- "lib/java/fullstack_demo/**"
9+
10+
jobs:
11+
build:
12+
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
pull-requests: write
17+
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: Set up JDK
22+
uses: actions/setup-java@v4
23+
with:
24+
java-version: '21'
25+
distribution: 'temurin'
26+
27+
- name: Build Fullstack Demo with Java
28+
working-directory: ./lib/java/fullstack_demo
29+
env:
30+
CLERK_PERISHABLE_KEY: 12345
31+
CLERK_SECRET_KEY: 12345
32+
run: ./gradlew check
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Check Fullstack Demo TS Pull Request
2+
3+
on:
4+
pull_request:
5+
branches: [ "main" ]
6+
paths:
7+
- ".github/workflows/check_fullstack_demo_ts_pr.yaml"
8+
- "lib/javascript/fullstack_demo/**"
9+
10+
jobs:
11+
build:
12+
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Use Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: '20.x'
24+
25+
- name: Test Fullstack Demo with Node.js
26+
working-directory: ./lib/javascript/fullstack_demo
27+
env:
28+
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${{ secrets.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY }}
29+
run: |
30+
npm ci
31+
npm run test
32+
33+
- name: Run Cypress component tests
34+
uses: cypress-io/github-action@v6
35+
env:
36+
NEXT_PUBLIC_API_URL: http://localhost:8080
37+
with:
38+
working-directory: ./lib/javascript/fullstack_demo
39+
component: true

.github/workflows/check_push.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Check Push
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
paths:
7+
- ".github/workflows/check_push.yml"
8+
- "lib/**"
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
contents: read
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
- name: Set up JDK
18+
uses: actions/setup-java@v4
19+
with:
20+
java-version: '21'
21+
distribution: 'temurin'
22+
23+
# Configure Gradle for optimal use in GiHub Actions, including caching of downloaded dependencies.
24+
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
25+
- name: Setup Gradle
26+
uses: gradle/actions/setup-gradle@v4
27+
with:
28+
gradle-version: "8.11.1"
29+
30+
- name: Use Node.js
31+
uses: actions/setup-node@v4
32+
with:
33+
node-version: '20.x'
34+
35+
- name: Build Shared Lib with Gradle Wrapper
36+
working-directory: ./lib/java/codedifferently-instructional
37+
run: ./gradlew check
38+
39+
- name: Build Shared Lib with Node.js
40+
working-directory: ./lib/javascript/codedifferently-instructional
41+
run: |
42+
npm ci
43+
npm run test
44+
45+
- name: Build Fullstack Demo with Java
46+
working-directory: ./lib/java/fullstack_demo
47+
env:
48+
CLERK_PERISHABLE_KEY: 12345
49+
CLERK_SECRET_KEY: 12345
50+
run: ./gradlew check
51+
52+
- name: Test Fullstack Demo with Node.js
53+
working-directory: ./lib/javascript/fullstack_demo
54+
env:
55+
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${{ secrets.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY }}
56+
run: |
57+
npm ci
58+
npm run test

.gitignore

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# Gradle files
2+
.gradle
3+
build/
4+
bin/
5+
6+
# Java project generated assets
7+
.classpath
8+
.project
9+
.settings/
10+
11+
# Logs
12+
logs
13+
*.log
14+
npm-debug.log*
15+
yarn-debug.log*
16+
yarn-error.log*
17+
lerna-debug.log*
18+
.pnpm-debug.log*
19+
20+
# Diagnostic reports (https://nodejs.org/api/report.html)
21+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
22+
23+
# Runtime data
24+
pids
25+
*.pid
26+
*.seed
27+
*.pid.lock
28+
29+
# Directory for instrumented libs generated by jscoverage/JSCover
30+
lib-cov
31+
32+
# Coverage directory used by tools like istanbul
33+
coverage
34+
*.lcov
35+
36+
# nyc test coverage
37+
.nyc_output
38+
39+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
40+
.grunt
41+
42+
# Bower dependency directory (https://bower.io/)
43+
bower_components
44+
45+
# node-waf configuration
46+
.lock-wscript
47+
48+
# Compiled binary addons (https://nodejs.org/api/addons.html)
49+
build/Release
50+
51+
# Dependency directories
52+
node_modules/
53+
jspm_packages/
54+
55+
# Snowpack dependency directory (https://snowpack.dev/)
56+
web_modules/
57+
58+
# TypeScript cache
59+
*.tsbuildinfo
60+
61+
# Optional npm cache directory
62+
.npm
63+
64+
# Optional eslint cache
65+
.eslintcache
66+
67+
# Optional stylelint cache
68+
.stylelintcache
69+
70+
# Microbundle cache
71+
.rpt2_cache/
72+
.rts2_cache_cjs/
73+
.rts2_cache_es/
74+
.rts2_cache_umd/
75+
76+
# Optional REPL history
77+
.node_repl_history
78+
79+
# Output of 'npm pack'
80+
*.tgz
81+
82+
# Yarn Integrity file
83+
.yarn-integrity
84+
85+
# dotenv environment variable files
86+
.env
87+
.env.development.local
88+
.env.test.local
89+
.env.production.local
90+
.env.local
91+
92+
# parcel-bundler cache (https://parceljs.org/)
93+
.cache
94+
.parcel-cache
95+
96+
# Next.js build output
97+
.next
98+
out
99+
100+
# Nuxt.js build / generate output
101+
.nuxt
102+
dist
103+
104+
# Gatsby files
105+
.cache/
106+
# Comment in the public line in if your project uses Gatsby and not Next.js
107+
# https://nextjs.org/blog/next-9-1#public-directory-support
108+
# public
109+
110+
# vuepress build output
111+
.vuepress/dist
112+
113+
# vuepress v2.x temp and cache directory
114+
.temp
115+
.cache
116+
117+
# Docusaurus cache and generated files
118+
.docusaurus
119+
120+
# Serverless directories
121+
.serverless/
122+
123+
# FuseBox cache
124+
.fusebox/
125+
126+
# DynamoDB Local files
127+
.dynamodb/
128+
129+
# TernJS port file
130+
.tern-port
131+
132+
# Stores VSCode versions used for testing VSCode extensions
133+
.vscode-test
134+
135+
# yarn v2
136+
.yarn/cache
137+
.yarn/unplugged
138+
.yarn/build-state.yml
139+
.yarn/install-state.gz
140+
.pnp.*
141+
142+
.DS_Store
143+
144+
# Python
145+
*.pyc
146+
*.pyo
147+
*.pyd
148+
__pycache__/
149+
venv/
150+
pip-log.txt
151+
.vercel
152+
.env*.local
153+
154+
# Custom
155+
!slides/dist/

.vscode/settings.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"java.configuration.updateBuildConfiguration": "automatic",
3+
"java.compile.nullAnalysis.mode": "automatic",
4+
"editor.defaultFormatter": "esbenp.prettier-vscode",
5+
"editor.formatOnPaste": true,
6+
"editor.formatOnSave": true,
7+
"prettier.requireConfig": true,
8+
"editor.codeActionsOnSave": {
9+
"source.fixAll.eslint": "explicit",
10+
"source.organizeImports": "explicit"
11+
},
12+
"[typescriptreact]": {
13+
"editor.defaultFormatter": "esbenp.prettier-vscode"
14+
},
15+
"[javascriptreact]": {
16+
"editor.defaultFormatter": "esbenp.prettier-vscode"
17+
},
18+
}

0 commit comments

Comments
 (0)