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
213 changes: 213 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,216 @@ Open [http://localhost:5173](http://localhost:5173) to view local version of the

Every time a commit is made to the `main` branch, the react source code is automatically built and published to the `gh-pages` branch, which is then used to serve the users.
So you don't need to worry about deployment of your code: As long as your changes are in the `main` branch, they will be reflected on the actual website within 1-3 minutes.

---

# Contributing to the Website

Thank you for contributing to the .devClub website.

Before making changes:

1. Create a new branch from `main`
2. Make your changes
3. Test the site locally
4. Open a Pull Request

---

# Adding New Executives

Executive team members are configured in:

```
src/resources/data/teamConfig.ts
```

Add a new year entry containing all executives for that year.

Example:

```ts
"20xx": [
{
firstName: "Person",
middleName: "Number", // optional
lastName: "One",
role: "Executive role",
image: "/assets/team/20xx/headshot.png",
linkedin: "https://linkedin.com/in/username",
github: "https://github.com/username",
instagram: "", // optional
discord: "", // optional
website: "" // optional
}
]
```

Place the corresponding headshot image in:

```
public/assets/team/20xx/
```

---

# Adding New Events

Events are configured in:

```
src/resources/data/events.ts
```

Add a new entry including:

- Event name
- Description
- Event image/banner
- Optional path/link
- Optional recurring flag

Run the project locally to verify the event renders correctly.

---

# Adding Upcoming Events

Upcoming events are also configured in:

```
src/resources/data/events.ts
```

Fields you may use:

- `upcomingTitle`
- `upcomingDescription`
- `date`
- `location`
- `rsvp`
- `upcomingImage`

If unsure about fields, check:

```
src/resources/data/types.ts
```

---

# Adding a New .devHacks Page

Open:

```
src/resources/data/hackathonInfoConfig.ts
```

Add a new year entry with the relevant hackathon information.

A route will automatically be created:

```
/devhacks/20xx
```

Run the project locally and verify the page works.

---

# Adding Prize Categories for .devHacks

Update `hackathonThemeConfig.ts` with:

- A new year entry
- Prize name
- Description

Confirm the prize appears correctly on a
`devhacks/202x/themes` route.

---

# Adding Sponsors for .devHacks

1. Add sponsor logos to the correct devhacks year folder inside:

```
src/resources/images/devhacks/202x/sponsors
```

2. Import them in:

```
src/resources/data/devHacksArchive/HackathonYearSponsors.tsx
```

Verify the images load and display properly.

---

# Adding Pictures for .devHacks

1. Add images to the correct devhacks year folder inside:

```
src/resources/images/images/devhacks/202x/pictures
```

2. Import them in:

```
src/resources/data/devHacksArchive/HackathonYearPictures.tsx
```

Confirm the gallery displays correctly.

---

# Adding .devHacks Winners

Winners are configured in:

```
src/resources/data/hackathonWinners.ts
```

Add:

- Project name
- Team members
- Prize category

Verify spelling and formatting before committing.

---

# Adding Archive Cards to the Main .devHacks Page

Archive cards display previous hackathons.

Add a card containing:

- Hackathon year
- Title
- Short description
- Image
- Link to the hackathon page

Confirm it appears in the archive section.

---

# Notes for Contributors

Before opening a Pull Request:

- Test changes locally
- Follow existing code style
- Verify images and links load correctly
- Avoid committing unnecessary files

---

Thank you for helping improve the **.devClub website** 🚀
42 changes: 28 additions & 14 deletions src/resources/data/devHacksArchive/HackathonYearSponsors.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ import "@/styles/devHacksSponsors.scss";
import React from "react";

//2026 logos
import Qdoc from "@/resources/images/devhacks/2026/QDocLogo.png";
import Taiv from "@/resources/images/devhacks/2026/Taiv.png";
import Payworks from "@/resources/images/devhacks/2026/Payworks.png";
import G3_2026 from "@/resources/images/devhacks/2026/G3.png";

import Ubisoft2026 from "@/resources/images/devhacks/2026/Ubisoft2026.png";
import Niche2026 from "@/resources/images/devhacks/2026/Niche2026.png";
import Pollard2026 from "@/resources/images/devhacks/2026/Pollard.svg";
import Priceline2026 from "@/resources/images/devhacks/2026/priceline.jpg";
import IG from "@/resources/images/devhacks/2026/IG.png";
import CompSciDept from "@/resources/images/devhacks/2026/CompSciDept.jpeg";
import CanadaLife from "@/resources/images/devhacks/2026/CanadaLife.png";
import Qdoc from "@/resources/images/devhacks/2026/sponsors/QDocLogo.png";
import Taiv from "@/resources/images/devhacks/2026/sponsors/Taiv.png";
import Payworks from "@/resources/images/devhacks/2026/sponsors/Payworks.png";
import G3_2026 from "@/resources/images/devhacks/2026/sponsors/G3.png";

import Ubisoft2026 from "@/resources/images/devhacks/2026/sponsors/Ubisoft2026.png";
import Niche2026 from "@/resources/images/devhacks/2026/sponsors/Niche2026.png";
import Pollard2026 from "@/resources/images/devhacks/2026/sponsors/Pollard.svg";
import Priceline2026 from "@/resources/images/devhacks/2026/sponsors/priceline.jpg";
import IG from "@/resources/images/devhacks/2026/sponsors/IG.png";
import CompSciDept from "@/resources/images/devhacks/2026/sponsors/CompSciDept.jpeg";
import CanadaLife from "@/resources/images/devhacks/2026/sponsors/CanadaLife.png";

// 2025 logos
import Ubisoft from "@/resources/images/devhacks/2025/devHacksSponsors/Ubisoft.jpg";
Expand Down Expand Up @@ -44,7 +44,13 @@ import PayWorks from "@/resources/images/devhacks/2023/devHacksSponsors/payWorks

type HackathonYearSponsorsProps = { year: string | number };

type Tier = "platinum" | "gold" | "silver" | "bronze" | "inkind";
type Tier =
| "platinum"
| "gold"
| "silver"
| "bronze"
| "inkind"
| "schoolSponsor"; //size not implemented in devHacksSponsors.scss
type Sponsor = { name: string; logo: string };
type YearSponsors = Partial<Record<Tier, Sponsor[]>>;

Expand All @@ -53,10 +59,18 @@ const TIER_LABEL: Record<Tier, string> = {
gold: "Gold",
silver: "Silver",
bronze: "Bronze",
schoolSponsor: "School Sponsor",
inkind: "In-Kind",
};

const TIER_ORDER: Tier[] = ["platinum", "gold", "silver", "bronze", "inkind"];
const TIER_ORDER: Tier[] = [
"platinum",
"gold",
"silver",
"bronze",
"inkind",
"schoolSponsor",
];

const HackathonYearSponsors: React.FC<HackathonYearSponsorsProps> = ({
year,
Expand Down
2 changes: 1 addition & 1 deletion src/resources/data/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import devhacks2026 from "@/resources/images/devhacks/2026/devhacks2026.png";
export { TERMS_ORDER } from "./types";

//if you want to add an upcoming event
//add the fields: upcomingDescription, upcomingImage,location, date in the format 026-01-13T18:00:00 and rsvp to the relevant event object below
//add the fields: upcomingTitle, upcomingDescription, upcomingImage,location, date in the format 026-01-13T18:00:00 and rsvp to the relevant event object below
export const EVENTS: EventData[] = [
{
id: "general-meeting",
Expand Down
Loading