SourceSprint is a high-intensity, collaborative open-source platform designed to help developers learn Git, master modern open-source workflows, and make their first contributions in a gamified, real-time environment.
This repository hosts the client-side single-page application built with React, Tailwind CSS, and Three.js.
- Overview
- Key Features
- Technology Stack
- Getting Started
- Available Scripts
- Project Architecture
- Contribution Workflow
The SourceSprint frontend provides an immersive experience for event participants:
- Dynamic 3D visual environments that respond to user mouse physics.
- Live validation for participant registration and GitHub verification.
- Interactive documentation and cheatsheets for mastering Git CLI commands.
- Live scoreboards and event countdown scheduling.
- Interactive 3D Galaxy Canvas: Real-time particle field powered by
@react-three/fiberand@react-three/dreiproviding dynamic cursor-following depth. - Participant Registration: Dedicated registration workflow at
/registerwith validation rules for student identifiers and GitHub handles. - Precision Countdown Timer: Synchronized event countdown tracking launch milestones.
- Git Developer Resources Hub: Interactive command hub at
/resourcesfeaturing copyable commands, environment setup notes, and verified CLI guides. - Gamified Leaderboard: Live ranking system tracking contributor activities and project statistics.
- Responsive Glassmorphism UI: Bespoke dark aesthetic with golden-amber accents, optimized across mobile, tablet, and widescreen displays.
| Layer | Technology | Purpose |
|---|---|---|
| UI Framework | React 17.0.2 | Component architecture and state management |
| 3D Graphics | Three.js / React Three Fiber / Drei | Interactive canvas and particle systems |
| Styling | Tailwind CSS & Custom CSS3 | Modern glassmorphic dark design system |
| Routing | React Router v5 | Client-side routing and route-level protection |
| Networking | Axios | REST API communication with backend services |
| Icons & Assets | Custom SVG Design System & Font Awesome | Scalable vector iconography |
- Node.js:
v16.xor higher (compatible withv18,v20, andv22using legacy provider flags) - Package Manager:
npm(bundled with Node.js) oryarn - Git: Installed and configured on your system
-
Clone the repository to your local environment:
git clone https://github.com/thetan-dev/SourceSprint--Frontend.git cd SourceSprint--Frontend -
Install dependencies:
npm install --legacy-peer-deps
Note: The
--legacy-peer-depsflag ensures smooth resolution with React 17 and Three.js peer dependency trees.
Start the development server with hot-reload enabled:
npm run devThe application will be accessible at:
http://localhost:3000
Create a .env file in the root directory if you need to point to a custom backend or mock API:
REACT_APP_API_URL=https://api.sourcesprint.dev| Command | Description |
|---|---|
npm run dev |
Starts the development server at http://localhost:3000 |
npm start |
Alias for npm run dev with legacy OpenSSL support enabled |
npm run build |
Compiles an optimized, production-ready bundle into the build/ directory |
npm test |
Launches the interactive test runner |
npm run eject |
Ejects Create React App configuration (one-way operation) |
SourceSprint--Frontend/
├── public/ # Static assets, HTML shell, and manifest
│ ├── favicon.ico
│ └── index.html
├── src/
│ ├── assets/ # Vector icons, branding assets, and static illustrations
│ ├── components/ # Reusable presentation and layout components
│ │ ├── Home/ # Hero section and 3D galaxy canvas
│ │ ├── Navbar/ # Main navigation headers
│ │ ├── Resources/ # Git commands reference and CLI setup guides
│ │ ├── Timer/ # Event countdown components
│ │ └── Footer/ # Social links, chapter information, and credits
│ ├── Pages/ # Primary route views
│ │ ├── HomePage/ # Landing page view
│ │ ├── RegistrationPage/# Registration form view
│ │ ├── ResourcesPage/ # Developer resources hub view
│ │ └── LeaderboardPage/# Live leaderboard and metrics
│ ├── App.js # Application root and route definitions
│ ├── index.js # React DOM mounting entry point
│ ├── index.css # Global stylesheets and design tokens
│ └── tailwind.config.js # Tailwind CSS theme configuration
├── package.json # Project dependencies and operational scripts
└── package-lock.json # Deterministic dependency lockfile
We welcome contributions from the community. To contribute:
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/<your-username>/SourceSprint--Frontend.git cd SourceSprint--Frontend
- Create a branch for your feature or bugfix:
git checkout -b feature/your-feature-name
- Make your changes and test locally:
npm run dev
- Commit your work with clear, descriptive messages:
git commit -m "feat: implement responsive filter for resources hub" - Push the branch to your fork:
git push origin feature/your-feature-name
- Open a Pull Request against the
mainbranch with a clear description of your changes.