Skip to content

Commit f326652

Browse files
authored
Merge pull request #8 from DataScience-GT/rework/idea
Rework/idea
2 parents 2243b87 + 2f022ef commit f326652

File tree

17 files changed

+509
-35
lines changed

17 files changed

+509
-35
lines changed

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
"name": "cerebra",
33
"version": "0.1.0",
44
"private": true,
5+
"workspaces": [
6+
"packages/*",
7+
"tooling/*"
8+
],
59
"scripts": {
610
"build": "turbo run build",
711
"dev": "turbo run dev",

pnpm-lock.yaml

Lines changed: 12 additions & 35 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sites/portal/.gitignore

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
8+
# testing
9+
/coverage
10+
11+
# next.js
12+
/.next/
13+
/out/
14+
15+
# production
16+
/build
17+
18+
# misc
19+
.DS_Store
20+
*.pem
21+
22+
# debug
23+
npm-debug.log*
24+
yarn-debug.log*
25+
yarn-error.log*
26+
27+
# local env files
28+
.env.local
29+
.env.development.local
30+
.env.test.local
31+
.env.production.local
32+
33+
# vercel
34+
.vercel

sites/portal/README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
## Getting Started
2+
3+
First, run the development server:
4+
5+
```bash
6+
yarn dev
7+
```
8+
9+
Open [http://localhost:3001](http://localhost:3001) with your browser to see the result.
10+
11+
You can start editing the page by modifying `src/app/page.tsx`. The page auto-updates as you edit the file.
12+
13+
To create [API routes](https://nextjs.org/docs/app/building-your-application/routing/router-handlers) add an `api/` directory to the `app/` directory with a `route.ts` file. For individual endpoints, create a subfolder in the `api` directory, like `api/hello/route.ts` would map to [http://localhost:3001/api/hello](http://localhost:3001/api/hello).
14+
15+
## Learn More
16+
17+
To learn more about Next.js, take a look at the following resources:
18+
19+
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
20+
- [Learn Next.js](https://nextjs.org/learn/foundations/about-nextjs) - an interactive Next.js tutorial.
21+
22+
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
23+
24+
## Deploy on Vercel
25+
26+
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_source=github.com&utm_medium=referral&utm_campaign=turborepo-readme) from the creators of Next.js.
27+
28+
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.

sites/portal/app/favicon.ico

15 KB
Binary file not shown.

sites/portal/app/globals.css

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
@import "tailwindcss";
2+
3+
:root {
4+
--background: #ffffff;
5+
--foreground: #171717;
6+
}
7+
8+
@theme inline {
9+
--color-background: var(--background);
10+
--color-foreground: var(--foreground);
11+
--font-sans: var(--font-geist-sans);
12+
--font-mono: var(--font-geist-mono);
13+
}
14+
15+
@media (prefers-color-scheme: dark) {
16+
:root {
17+
--background: #0a0a0a;
18+
--foreground: #ededed;
19+
}
20+
}
21+
22+
body {
23+
background: var(--background);
24+
color: var(--foreground);
25+
font-family: Arial, Helvetica, sans-serif;
26+
}

sites/portal/app/layout.tsx

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// app/layout.tsx
2+
import type { Metadata } from "next";
3+
import { GeistSans, GeistMono } from "geist/font";
4+
import "./globals.css";
5+
6+
const geistSansVar = GeistSans.variable;
7+
const geistMonoVar = GeistMono.variable;
8+
9+
export const metadata: Metadata = {
10+
title: "DSGT Portal",
11+
description: "Georgia Tech Data Science Organization",
12+
};
13+
14+
interface RootLayoutProps {
15+
children: React.ReactNode;
16+
}
17+
18+
export default function RootLayout({ children }: RootLayoutProps) {
19+
return (
20+
<html lang="en" className={`${geistSansVar} ${geistMonoVar}`}>
21+
<body className="antialiased bg-[#0F111A] text-white">
22+
{children}
23+
</body>
24+
</html>
25+
);
26+
}

sites/portal/app/page.tsx

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
"use client";
2+
3+
import Link from "next/link";
4+
import Image from "next/image";
5+
6+
export default function LandingPage() {
7+
return (
8+
<main className="min-h-screen flex flex-col md:flex-row items-center justify-between px-8 md:px-16 bg-gray-900 relative">
9+
10+
<div className="flex flex-col max-w-xl text-center md:text-left space-y-6 md:space-y-8">
11+
<h1 className="text-4xl md:text-5xl font-extrabold leading-tight text-white">
12+
The Official Platform for DSGT: <span className="text-blue-500">Cerebra</span>.
13+
</h1>
14+
15+
<p className="text-gray-300 text-lg md:text-xl">
16+
<span className="font-bold">Cerebra</span> serves as the central digital platform for the Georgia Tech Data Science Organization. Seamlessly manage your membership, RSVP for all events, track ongoing projects, and connect instantly with the integrated DSGT community.
17+
</p>
18+
19+
<div className="flex flex-col sm:flex-row gap-4 mt-4">
20+
<Link
21+
href="/login"
22+
className="px-8 py-3 rounded-lg bg-blue-600 text-white font-semibold text-lg hover:bg-blue-500 transition duration-300 shadow-lg"
23+
>
24+
Access Cerebra
25+
</Link>
26+
27+
<Link
28+
href="/website"
29+
className="px-8 py-3 rounded-lg border-2 border-blue-500 text-blue-500 font-semibold text-lg hover:bg-blue-500 hover:text-white transition duration-300"
30+
>
31+
Go to DSGT Website
32+
</Link>
33+
</div>
34+
</div>
35+
36+
<div className="relative w-full max-w-md md:max-w-lg aspect-square mt-12 md:mt-0 mx-auto md:mx-0">
37+
<Image
38+
src="/images/apple-touch-icon.png"
39+
alt="DSGT Cerebra Platform Illustration"
40+
fill
41+
className="object-contain rounded-xl shadow-lg hover:-translate-y-1 hover:scale-105 transition-transform duration-300"
42+
/>
43+
</div>
44+
</main>
45+
);
46+
}

sites/portal/app/past/page.tsx

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
"use client";
2+
3+
import { useState, useEffect } from "react";
4+
import Background from "@/components/Background";
5+
import Navbar from "@/components/Navbar";
6+
import Footer from "@/components/Footer";
7+
import Major from "@/components/Text/Major";
8+
import Mini from "@/components/Text/Mini";
9+
import Link from "next/link";
10+
const CompletedEventPage: React.FC = () => {
11+
const [windowWidth, setWindowWidth] = useState<number>(
12+
typeof window !== "undefined" ? window.innerWidth : 1024
13+
);
14+
15+
useEffect(() => {
16+
document.body.style.overflow = "auto";
17+
18+
const handleResize = () => setWindowWidth(window.innerWidth);
19+
window.addEventListener("resize", handleResize);
20+
return () => window.removeEventListener("resize", handleResize);
21+
}, []);
22+
23+
return (
24+
<div id="completed-event-page" className="relative min-h-screen flex flex-col">
25+
<Background className="absolute inset-0 z-0" />
26+
27+
<Navbar
28+
screen_width={windowWidth}
29+
className="fixed top-0 left-0 w-full z-30"
30+
page="other"
31+
/>
32+
33+
<main className="relative z-10 flex-grow pt-[80px] flex items-center justify-center p-6">
34+
<div className="text-center p-10 max-w-3xl rounded-2xl bg-white/5 backdrop-blur-md border border-white/10 shadow-2xl space-y-6">
35+
<Major type="b" className="text-white">
36+
Hey, this event is past due
37+
</Major>
38+
<Mini className="text-gray-200">
39+
Feel free to check again next semester or explore the website to learn more about
40+
our projects, Hacklytics, and how to get involved!
41+
</Mini>
42+
<div className="flex justify-center gap-4">
43+
<Link
44+
href="/"
45+
className="px-6 py-3 bg-blue-600 text-white font-bold rounded-full transition-all duration-300 hover:bg-blue-700 hover:shadow-lg"
46+
>
47+
Go to Home Page
48+
</Link>
49+
<Link
50+
href="/team"
51+
className="px-6 py-3 border border-gray-400 text-gray-200 font-bold rounded-full transition-all duration-300 hover:bg-white/10"
52+
>
53+
Meet the Team
54+
</Link>
55+
</div>
56+
</div>
57+
</main>
58+
59+
<Footer screen_width={windowWidth} />
60+
</div>
61+
);
62+
};
63+
64+
export default CompletedEventPage;

0 commit comments

Comments
 (0)