Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Binary file added src/content/projects/example-project-1/cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions src/content/projects/example-project-1/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: 'Example Project 1'
description: 'An example project demonstrating the frontmatter shape for a showcase entry.'
builtBy:
- name: 'Example Student 1'
url: 'https://example.com/student-1'
- name: 'Example Student 3'
url: 'https://example.com/student-3'
- name: 'Example Student 4'
url: 'https://example.com/student-4'
tech: ['TypeScript', 'pnpm']
year: 2021
domains: ['web', 'cybersecurity']
github: 'https://github.com/example/example-project-1'
cover: './cover.png'
---

## Overview

This is an example project entry that demonstrates the expected frontmatter shape for all projects in this showcase. Every field above is required (except `deploy`, which is optional), and the `cover` image co-located here will be optimized at build time via `astro:assets`.

## What it does

The project serves as a structural template. When a contributor adds their own project, they create a new folder under `src/content/projects/`, drop in their `index.md` and a cover image, and open a pull request. Using one folder per project means multiple contributors can add entries simultaneously without touching the same file, eliminating most merge conflicts.

## Technical notes

- The `domains` field drives filtering on the gallery page. It's an array of one or more categories from a fixed set: `web`, `mobile`, `ai-ml`, `cybersecurity`, `game-dev`, `hardware`, `systems`, `infrastructure` (e.g. a cybersecurity-focused web app could be `['web', 'cybersecurity']`). An unrecognized value fails the build.
- The `tech` array accepts any freeform strings — the gallery page aggregates them into a filter list at build time.
- `deploy` is omitted when a project has no public deployment (library, CLI tool, etc.).
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 27 additions & 0 deletions src/content/projects/example-project-2/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: 'Example Project 2'
description: 'A sample entry illustrating how a single-author project is structured.'
builtBy:
- name: 'Example Student 2'
url: 'https://example.com/student-2'
tech: ['TypeScript', 'Astro', 'pnpm']
year: 2022
domains: ['mobile']
github: 'https://github.com/example/example-project-2'
deploy: 'https://example-project-2.pages.dev'
cover: './cover.png'
---

## Overview

This is an example project entry that demonstrates the expected frontmatter shape for all projects in this showcase. Every field above is required (except `deploy`, which is optional), and the `cover` image co-located here will be optimized at build time via `astro:assets`.

## What it does

The project serves as a structural template. When a contributor adds their own project, they create a new folder under `src/content/projects/`, drop in their `index.md` and a cover image, and open a pull request. Using one folder per project means multiple contributors can add entries simultaneously without touching the same file, eliminating most merge conflicts.

## Technical notes

- The `domains` field drives filtering on the gallery page. It's an array of one or more categories from a fixed set: `web`, `mobile`, `ai-ml`, `cybersecurity`, `game-dev`, `hardware`, `systems`, `infrastructure` (e.g. a cybersecurity-focused web app could be `['web', 'cybersecurity']`). An unrecognized value fails the build.
- The `tech` array accepts any freeform strings — the gallery page aggregates them into a filter list at build time.
- `deploy` is omitted when a project has no public deployment (library, CLI tool, etc.).
Binary file added src/content/projects/example-project-3/cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions src/content/projects/example-project-3/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: 'Example Project 3'
description: 'A placeholder project showing multiple authors across mixed domains.'
builtBy:
- name: 'Example Student 3'
url: 'https://example.com/student-3'
- name: 'Example Student 4'
url: 'https://example.com/student-4'
- name: 'Example Student 6'
tech: ['TypeScript', 'Python', 'pnpm']
year: 2025
domains: ['ai-ml', 'web']
github: 'https://github.com/example/example-project-3'
cover: './cover.png'
---

## Overview

This is an example project entry that demonstrates the expected frontmatter shape for all projects in this showcase. Every field above is required (except `deploy`, which is optional), and the `cover` image co-located here will be optimized at build time via `astro:assets`.

## What it does

The project serves as a structural template. When a contributor adds their own project, they create a new folder under `src/content/projects/`, drop in their `index.md` and a cover image, and open a pull request. Using one folder per project means multiple contributors can add entries simultaneously without touching the same file, eliminating most merge conflicts.

## Technical notes

- The `domains` field drives filtering on the gallery page. It's an array of one or more categories from a fixed set: `web`, `mobile`, `ai-ml`, `cybersecurity`, `game-dev`, `hardware`, `systems`, `infrastructure` (e.g. a cybersecurity-focused web app could be `['web', 'cybersecurity']`). An unrecognized value fails the build.
- The `tech` array accepts any freeform strings — the gallery page aggregates them into a filter list at build time.
- `deploy` is omitted when a project has no public deployment (library, CLI tool, etc.).
Binary file added src/content/projects/example-project-4/cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 28 additions & 0 deletions src/content/projects/example-project-4/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: 'Example Project 4'
description: 'An example entry with a live deployment link and a minimal tech stack.'
builtBy:
- name: 'Example Student 4'
url: 'https://example.com/student-4'
- name: 'Example Student 6'
tech: ['TypeScript']
year: 2022
domains: ['web']
github: 'https://github.com/example/example-project-4'
deploy: 'https://example-project-4.pages.dev'
cover: './cover.png'
---

## Overview

This is an example project entry that demonstrates the expected frontmatter shape for all projects in this showcase. Every field above is required (except `deploy`, which is optional), and the `cover` image co-located here will be optimized at build time via `astro:assets`.

## What it does

The project serves as a structural template. When a contributor adds their own project, they create a new folder under `src/content/projects/`, drop in their `index.md` and a cover image, and open a pull request. Using one folder per project means multiple contributors can add entries simultaneously without touching the same file, eliminating most merge conflicts.

## Technical notes

- The `domains` field drives filtering on the gallery page. It's an array of one or more categories from a fixed set: `web`, `mobile`, `ai-ml`, `cybersecurity`, `game-dev`, `hardware`, `systems`, `infrastructure` (e.g. a cybersecurity-focused web app could be `['web', 'cybersecurity']`). An unrecognized value fails the build.
- The `tech` array accepts any freeform strings — the gallery page aggregates them into a filter list at build time.
- `deploy` is omitted when a project has no public deployment (library, CLI tool, etc.).
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions src/content/projects/example-project-5/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: 'Example Project 5'
description: 'A sample game-dev project used to demonstrate the gallery layout.'
builtBy:
- name: 'Example Student 5'
url: 'https://example.com/student-5'
- name: 'Example Student 8'
url: 'https://example.com/student-8'
tech: ['Astro', 'pnpm']
year: 2024
domains: ['game-dev']
github: 'https://github.com/example/example-project-5'
deploy: 'https://example-project-5.pages.dev'
cover: './cover.png'
---

## Overview

This is an example project entry that demonstrates the expected frontmatter shape for all projects in this showcase. Every field above is required (except `deploy`, which is optional), and the `cover` image co-located here will be optimized at build time via `astro:assets`.

## What it does

The project serves as a structural template. When a contributor adds their own project, they create a new folder under `src/content/projects/`, drop in their `index.md` and a cover image, and open a pull request. Using one folder per project means multiple contributors can add entries simultaneously without touching the same file, eliminating most merge conflicts.

## Technical notes

- The `domains` field drives filtering on the gallery page. It's an array of one or more categories from a fixed set: `web`, `mobile`, `ai-ml`, `cybersecurity`, `game-dev`, `hardware`, `systems`, `infrastructure` (e.g. a cybersecurity-focused web app could be `['web', 'cybersecurity']`). An unrecognized value fails the build.
- The `tech` array accepts any freeform strings — the gallery page aggregates them into a filter list at build time.
- `deploy` is omitted when a project has no public deployment (library, CLI tool, etc.).
Binary file added src/content/projects/example-project-6/cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions src/content/projects/example-project-6/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: 'Example Project 6'
description: 'A placeholder full-stack example spanning web and AI/ML domains.'
builtBy:
- name: 'Example Student 6'
url: 'https://example.com/student-6'
- name: 'Example Student 8'
url: 'https://example.com/student-8'
tech: ['TypeScript', 'C#', 'Python']
year: 2025
domains: ['web', 'ai-ml']
github: 'https://github.com/example/example-project-6'
deploy: 'https://example-project-6.pages.dev'
cover: './cover.png'
---

## Overview

This is an example project entry that demonstrates the expected frontmatter shape for all projects in this showcase. Every field above is required (except `deploy`, which is optional), and the `cover` image co-located here will be optimized at build time via `astro:assets`.

## What it does

The project serves as a structural template. When a contributor adds their own project, they create a new folder under `src/content/projects/`, drop in their `index.md` and a cover image, and open a pull request. Using one folder per project means multiple contributors can add entries simultaneously without touching the same file, eliminating most merge conflicts.

## Technical notes

- The `domains` field drives filtering on the gallery page. It's an array of one or more categories from a fixed set: `web`, `mobile`, `ai-ml`, `cybersecurity`, `game-dev`, `hardware`, `systems`, `infrastructure` (e.g. a cybersecurity-focused web app could be `['web', 'cybersecurity']`). An unrecognized value fails the build.
- The `tech` array accepts any freeform strings — the gallery page aggregates them into a filter list at build time.
- `deploy` is omitted when a project has no public deployment (library, CLI tool, etc.).
Binary file added src/content/projects/example-project-7/cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions src/content/projects/example-project-7/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: 'Example Project 7'
description: 'An example project covering the infrastructure and hardware categories.'
builtBy:
- name: 'Example Student 7'
url: 'https://example.com/student-7'
tech: ['TypeScript', 'Java', 'Rust']
year: 2024
domains: ['infrastructure', 'hardware']
github: 'https://github.com/example/example-project-7'
cover: './cover.png'
---

## Overview

This is an example project entry that demonstrates the expected frontmatter shape for all projects in this showcase. Every field above is required (except `deploy`, which is optional), and the `cover` image co-located here will be optimized at build time via `astro:assets`.

## What it does

The project serves as a structural template. When a contributor adds their own project, they create a new folder under `src/content/projects/`, drop in their `index.md` and a cover image, and open a pull request. Using one folder per project means multiple contributors can add entries simultaneously without touching the same file, eliminating most merge conflicts.

## Technical notes

- The `domains` field drives filtering on the gallery page. It's an array of one or more categories from a fixed set: `web`, `mobile`, `ai-ml`, `cybersecurity`, `game-dev`, `hardware`, `systems`, `infrastructure` (e.g. a cybersecurity-focused web app could be `['web', 'cybersecurity']`). An unrecognized value fails the build.
- The `tech` array accepts any freeform strings — the gallery page aggregates them into a filter list at build time.
- `deploy` is omitted when a project has no public deployment (library, CLI tool, etc.).
Binary file added src/content/projects/example-project-8/cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 28 additions & 0 deletions src/content/projects/example-project-8/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: 'Example Project 8'
description: 'A sample web project used to exercise gallery filtering and search.'
builtBy:
- name: 'Example Student 8'
url: 'https://example.com/student-8'
- name: 'Example Student 6'
tech: ['TypeScript', 'Astro', 'pnpm']
year: 2021
domains: ['web', 'systems']
github: 'https://github.com/example/example-project-8'
deploy: 'https://example-project-8.pages.dev'
cover: './cover.png'
---

## Overview

This is an example project entry that demonstrates the expected frontmatter shape for all projects in this showcase. Every field above is required (except `deploy`, which is optional), and the `cover` image co-located here will be optimized at build time via `astro:assets`.

## What it does

The project serves as a structural template. When a contributor adds their own project, they create a new folder under `src/content/projects/`, drop in their `index.md` and a cover image, and open a pull request. Using one folder per project means multiple contributors can add entries simultaneously without touching the same file, eliminating most merge conflicts.

## Technical notes

- The `domains` field drives filtering on the gallery page. It's an array of one or more categories from a fixed set: `web`, `mobile`, `ai-ml`, `cybersecurity`, `game-dev`, `hardware`, `systems`, `infrastructure` (e.g. a cybersecurity-focused web app could be `['web', 'cybersecurity']`). An unrecognized value fails the build.
- The `tech` array accepts any freeform strings — the gallery page aggregates them into a filter list at build time.
- `deploy` is omitted when a project has no public deployment (library, CLI tool, etc.).
6 changes: 6 additions & 0 deletions src/content/webring/example-1-member.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "Example Student 1",
"url": "https://example.com/student-1",
"year": 2022,
"inRing": true
}
6 changes: 6 additions & 0 deletions src/content/webring/example-2-member.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "Example Student 2",
"url": "https://example.com/student-2",
"year": 2022,
"inRing": false
}
6 changes: 6 additions & 0 deletions src/content/webring/example-3-member.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "Example Student 3",
"url": "https://example.com/student-3",
"year": 2025,
"inRing": true
}
6 changes: 6 additions & 0 deletions src/content/webring/example-4-member.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "Example Student 4",
"url": "https://example.com/student-4",
"year": 2022,
"inRing": false
}
6 changes: 6 additions & 0 deletions src/content/webring/example-5-member.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "Example Student 5",
"url": "https://example.com/student-5",
"year": 2024,
"inRing": true
}
6 changes: 6 additions & 0 deletions src/content/webring/example-6-member.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "Example Student 6",
"url": "https://example.com/student-6",
"year": 2022,
"inRing": false
}
Loading