Skip to content

Commit 5c5cc0a

Browse files
committed
GSoc 2026 idea added
1 parent f7e7a10 commit 5c5cc0a

File tree

4 files changed

+277
-6
lines changed

4 files changed

+277
-6
lines changed

src/components/WhyChooseCodeHarbor.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,20 +43,20 @@ const reasons = [
4343

4444
const WhyChooseCodeHarbor = () => {
4545
return (
46-
<section className="py-24 px-6 bg-[var(--ifm-bg-color)] transition-colors duration-300 font-sans relative overflow-hidden">
46+
<section className="py-24 px-6 transition-colors duration-300 font-sans relative overflow-hidden">
4747
{/* Subtle Background Pattern */}
4848
<div className="absolute inset-0 opacity-[0.03] dark:opacity-[0.05] pointer-events-none">
4949
<svg width="100%" height="100%"><pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse"><path d="M 40 0 L 0 0 0 40" fill="none" stroke="currentColor" strokeWidth="1"/></pattern><rect width="100%" height="100%" fill="url(#grid)" /></svg>
5050
</div>
5151

52-
<div className="max-w-7xl mx-auto relative z-10">
52+
<div className="mx-auto relative z-10">
5353

5454
{/* Header */}
5555
<div className="text-center mb-20">
5656
<span className="inline-block px-4 py-1.5 mb-6 text-xs font-bold tracking-[0.2em] uppercase text-[var(--ifm-color-primary)] bg-[var(--ifm-color-primary)]/10 rounded-full border border-[var(--ifm-color-primary)]/20">
5757
Why CodeHarborHub?
5858
</span>
59-
<h2 className="text-4xl md:text-6xl font-black text-[var(--ifm-text-color)] leading-tight tracking-tight">
59+
<h2 className="text-[2.2rem] font-black text-[var(--ifm-text-color)] leading-tight tracking-tight">
6060
Empowering Your <span className="text-[var(--ifm-color-primary)]">Tech Journey</span>
6161
</h2>
6262
<p className="mt-6 text-lg opacity-70 text-[var(--ifm-text-color)] max-w-2xl mx-auto leading-relaxed">
@@ -66,7 +66,7 @@ const WhyChooseCodeHarbor = () => {
6666
</div>
6767

6868
{/* Feature Grid */}
69-
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8">
69+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
7070
{reasons.map((item, index) => (
7171
<div
7272
key={index}
@@ -81,7 +81,7 @@ const WhyChooseCodeHarbor = () => {
8181
</div>
8282

8383
{/* Content */}
84-
<h3 className="text-2xl font-bold text-[var(--ifm-text-color)] mb-4">
84+
<h3 className="font-bold text-[var(--ifm-text-color)] mb-4">
8585
{item.title}
8686
</h3>
8787
<p className="opacity-60 text-[var(--ifm-text-color)] leading-relaxed text-base">

src/pages/gsoc2026.tsx

Lines changed: 259 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,259 @@
1+
import clsx from "clsx";
2+
import Layout from "@theme/Layout";
3+
import Heading from "@theme/Heading";
4+
import style from "./index.module.css";
5+
import Head from "@docusaurus/Head";
6+
import ScrollTopToButton from "../components/Buttons/bottom/ScrollTopToButton";
7+
import ScrollBottomToTop from "../components/Buttons/top/ScrollBottomToTop";
8+
9+
const PROJECT_DATA = [
10+
{
11+
title: "AI-Driven Personalized Learning Paths",
12+
difficulty: "Medium",
13+
size: "350 Hours",
14+
topics: ["Generative AI", "Vector DB", "LLM"],
15+
techStack: ["React", "Node.js", "LangChain", "OpenAI"],
16+
mentors: ["Ajay Dhangar", "TBD"],
17+
description: "Build an AI engine that analyzes a user's GitHub profile and skill gaps to generate custom, interactive learning roadmaps with real-time progress tracking.",
18+
goals: [
19+
"Implement Gemini/OpenAI integration for dynamic roadmap generation",
20+
"Build a persistent progress tracker with MongoDB",
21+
"Develop an interactive 'Roadmap-as-a-Service' UI component"
22+
]
23+
},
24+
{
25+
title: "Real-time Collaborative Code Lab",
26+
difficulty: "Hard",
27+
size: "350 Hours",
28+
topics: ["WebSockets", "Collaboration", "Editor"],
29+
techStack: ["TypeScript", "Socket.io", "Monaco Editor", "Redis"],
30+
mentors: ["Ajay Dhangar", "TBD"],
31+
description: "A 'Google Docs for Developers'—build a browser-based IDE where users can pair-program in real-time, share terminal outputs, and debug code together.",
32+
goals: [
33+
"Implement CRDTs or Operational Transformation for conflict-free sync",
34+
"Integrate a sandboxed execution environment (Docker/Piston API)",
35+
"Develop a 'Live Mentor' request system with shared sessions"
36+
]
37+
},
38+
{
39+
title: "Open Source Contributor & Impact Dashboard",
40+
difficulty: "Medium",
41+
size: "175 Hours",
42+
topics: ["GitHub API", "Analytics", "Gamification"],
43+
techStack: ["Next.js", "GitHub GraphQL", "PostgreSQL", "Recharts"],
44+
mentors: ["TBD"],
45+
description: "Visualize the global impact of CodeHarborHub. This dashboard will track contributor streaks, project health metrics, and automate 'Top Contributor' awards.",
46+
goals: [
47+
"Fetch and normalize real-time data using GitHub GraphQL API",
48+
"Create interactive heatmaps for contribution activity",
49+
"Automate Discord/Twitter announcements for merged PR milestones"
50+
]
51+
},
52+
{
53+
title: "CodeHarborHub CLI & Dev-Toolkit",
54+
difficulty: "Medium",
55+
size: "175 Hours",
56+
topics: ["CLI", "DevTools", "Automation"],
57+
techStack: ["Node.js", "Commander.js", "Inquirer", "ShellJS"],
58+
mentors: ["Ajay Dhangar", "TBD"],
59+
description: "Develop a unified command-line interface (CLI) to help contributors bootstrap projects, check for best practices, and submit issues directly from their terminal.",
60+
goals: [
61+
"Build a project scaffolding engine for CodeHarborHub templates",
62+
"Integrate local 'Good First Issue' finder via GitHub API",
63+
"Implement automated code-quality checks before PR submission"
64+
]
65+
},
66+
{
67+
title: "Interactive Open Source Playground",
68+
difficulty: "Hard",
69+
size: "350 Hours",
70+
topics: ["WebContainers", "Education", "Frontend"],
71+
techStack: ["React", "WebContainer API", "Vite", "Tailwind"],
72+
mentors: ["TBD"],
73+
description: "Create an in-browser development environment that allows new contributors to run CodeHarborHub projects without cloning repositories locally.",
74+
goals: [
75+
"Utilize StackBlitz WebContainers to run Node.js in the browser",
76+
"Build a side-by-side tutorial and editor layout",
77+
"Implement a 'One-click PR' feature from the browser sandbox"
78+
]
79+
},
80+
{
81+
title: "Documentation-as-Code (DaC) Engine",
82+
difficulty: "Easy",
83+
size: "175 Hours",
84+
topics: ["Docs", "Automation", "Workflow"],
85+
techStack: ["Docusaurus", "Markdown", "GitHub Actions", "Python"],
86+
mentors: ["TBD"],
87+
description: "Automate the generation of technical documentation by extracting comments and architecture patterns directly from the codebase into Docusaurus pages.",
88+
goals: [
89+
"Develop a parser to convert JSDoc/Docstrings to Docusaurus MDX",
90+
"Create a visual 'Architecture Map' generator for our repositories",
91+
"Implement automated broken link and grammar checks in CI/CD"
92+
]
93+
}
94+
];
95+
96+
export default function GSoC2026() {
97+
return (
98+
<Layout
99+
title="GSoC 2026 - CodeHarborHub"
100+
description="Join CodeHarborHub for Google Summer of Code 2026. Explore project ideas in AI, Real-time systems, and Open Source Tooling."
101+
>
102+
<Head>
103+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
104+
</Head>
105+
106+
<main className="padding-vert--xl">
107+
{/* Header Hero */}
108+
<div className="container text--center margin-bottom--xl">
109+
<div className={clsx("shadow--lw", style.gsocHero)} style={{
110+
background: 'linear-gradient(135deg, #1e40af 0%, #7e22ce 100%)',
111+
color: 'white',
112+
borderRadius: '20px',
113+
padding: '5rem 2rem'
114+
}}>
115+
<Heading as="h1" style={{ fontSize: '3.5rem', fontWeight: '900', letterSpacing: '-1px' }}>
116+
Google Summer of Code 2026
117+
</Heading>
118+
<p className="text-[1.2rem]" style={{ opacity: 0.9, maxWidth: '800px', margin: '1rem auto' }}>
119+
Join CodeHarborHub to build developer tools, collaborative platforms, and AI-driven educational resources.
120+
Help us empower the next generation of open-source contributors.
121+
</p>
122+
<div className="margin-top--lg flex justify-center gap-3">
123+
<a className="button button--secondary button--lg" href="#projects">View Project Ideas</a>
124+
<a className="button button--outline button--lg" style={{ color: 'white', borderColor: 'white' }} href="#">Join Discord</a>
125+
{/* https://discord.gg/codeharborhub */}
126+
</div>
127+
</div>
128+
</div>
129+
130+
{/* Success Guide */}
131+
<div className="container">
132+
<div className="row margin-bottom--xl">
133+
<div className="col col--12">
134+
<div className="card shadow--md" style={{ borderTop: '6px solid #2563eb', borderRadius: '12px' }}>
135+
<div className="card__body">
136+
<div className="row align-items--center">
137+
<div className="col col--7">
138+
<Heading as="h2">Candidate Success Roadmap</Heading>
139+
<p>GSoC is highly competitive. We evaluate contributors based on their technical skills, communication, and community involvement.</p>
140+
<div className="row">
141+
<div className="col col--6">
142+
<ul className="text--sm">
143+
<li>🎯 <strong>Active Participation:</strong> Join Discord and introduce yourself.</li>
144+
<li>🛠️ <strong>Code Contributions:</strong> Submit at least 2 quality PRs to our repos.</li>
145+
</ul>
146+
</div>
147+
<div className="col col--6">
148+
<ul className="text--sm">
149+
<li>📝 <strong>Solid Proposals:</strong> Follow our template and define clear milestones.</li>
150+
<li>🤝 <strong>Mentorship:</strong> Be open to feedback during the drafting phase.</li>
151+
</ul>
152+
</div>
153+
</div>
154+
</div>
155+
<div className="col col--5 text--center">
156+
<div style={{ padding: '2rem', background: 'var(--ifm-color-emphasis-100)', borderRadius: '12px' }}>
157+
<Heading as="h4">Application Deadline</Heading>
158+
<p className="text--bold text--primary" style={{ fontSize: '1.2rem' }}>March 2026 (TBA)</p>
159+
<small>Follow the official GSoC timeline for exact dates.</small>
160+
</div>
161+
</div>
162+
</div>
163+
</div>
164+
</div>
165+
</div>
166+
</div>
167+
168+
<hr className={style.home__hr} />
169+
170+
{/* Projects Grid */}
171+
<div id="projects" className="padding-top--lg">
172+
<div className={style.home__divider}>
173+
<Heading as="h2" className="text--center" style={{ fontSize: '2.5rem', fontWeight: '800' }}>
174+
Explore Project Ideas
175+
</Heading>
176+
<p className="text--center text--muted margin-bottom--xl" style={{ fontSize: '1.1rem' }}>
177+
Find a project that matches your passion. We offer mentorship across various domains.
178+
</p>
179+
</div>
180+
181+
<div className="row">
182+
{PROJECT_DATA.map((project, idx) => (
183+
<div key={idx} className="col col--6 margin-bottom--lg">
184+
<div className={clsx("card shadow--md h-100", style.projectCard)}>
185+
<div className="card__header">
186+
<div className="row">
187+
<div className="col col--8">
188+
<span className={clsx("badge margin-bottom--sm",
189+
project.difficulty === 'Hard' ? 'badge--danger' :
190+
project.difficulty === 'Medium' ? 'badge--warning' : 'badge--success'
191+
)}>
192+
{project.difficulty}
193+
</span>
194+
</div>
195+
<div className="col col--4 text--right text--sm text--muted">
196+
<strong>{project.size}</strong>
197+
</div>
198+
</div>
199+
<Heading as="h3" className="text--primary">{project.title}</Heading>
200+
</div>
201+
<div className="card__body">
202+
<p className="text--italic">{project.description}</p>
203+
<Heading as="h4" style={{ fontSize: '0.85rem', textTransform: 'uppercase', letterSpacing: '1px', color: 'var(--ifm-color-emphasis-700)' }}>
204+
Project Goals:
205+
</Heading>
206+
<ul className="text--sm padding-left--md">
207+
{project.goals.map((goal, gIdx) => (
208+
<li key={gIdx} className="margin-bottom--xs">{goal}</li>
209+
))}
210+
</ul>
211+
<div className="margin-top--md">
212+
{project.techStack.map(tech => (
213+
<span key={tech} style={{
214+
fontSize: '0.65rem',
215+
padding: '2px 8px',
216+
border: '1px solid var(--ifm-color-emphasis-300)',
217+
borderRadius: '4px',
218+
marginRight: '4px',
219+
display: 'inline-block'
220+
}}>{tech}</span>
221+
))}
222+
</div>
223+
</div>
224+
<div className="card__footer" style={{ background: 'var(--ifm-color-emphasis-100)', borderRadius: '0 0 12px 12px' }}>
225+
<div className="row align-items--center">
226+
<div className="col col--6">
227+
<small><strong>Topics:</strong> {project.topics.join(", ")}</small>
228+
</div>
229+
<div className="col col--6 text--right">
230+
<small><strong>Mentors:</strong> {project.mentors.join(", ")}</small>
231+
</div>
232+
</div>
233+
</div>
234+
</div>
235+
</div>
236+
))}
237+
</div>
238+
</div>
239+
</div>
240+
241+
{/* Call to Action Footer */}
242+
<div className="container text--center padding-vert--xl">
243+
<div className="card padding--xl shadow--lw" style={{ borderRadius: '20px' }}>
244+
<Heading as="h2">Have a Custom Project Idea?</Heading>
245+
<p className="margin-bottom--lg">We welcome innovative proposals that align with our mission to empower developers.</p>
246+
<div className="flex justify-center gap-4">
247+
<a href="mailto:ajaydhangar49@gmail.com" className="button button--primary button--lg">Send Proposal Draft</a>
248+
<span className="margin-horiz--md"></span>
249+
<a href="https://github.com/codeharborhub" className="button button--outline button--secondary button--lg">Explore Repositories</a>
250+
</div>
251+
</div>
252+
</div>
253+
254+
<ScrollTopToButton />
255+
<ScrollBottomToTop />
256+
</main>
257+
</Layout>
258+
);
259+
}

src/pages/index.module.css

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,15 @@
4848
cursor: pointer;
4949
text-align: center;
5050
}
51+
52+
.gsocHero {
53+
transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
54+
overflow: hidden;
55+
position: relative;
56+
z-index: 1;
57+
}
58+
59+
.gsocHero:hover {
60+
transform: translateY(-5px);
61+
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15) !important;
62+
}

src/theme/Footer/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ const Footer: React.FC = () => {
177177
</li>
178178
<li>
179179
<Link
180-
to="/community/team/"
180+
to="/our-team/"
181181
className="mb-3 inline-block text-base text-gray-300 hover:text-[--ifm-color-primary]"
182182
>
183183
Our Team

0 commit comments

Comments
 (0)