A fully functional, premium-designed GitHub clone built with Next.js 14, Vanilla CSS, and a Node.js/SQLite backend. Features repository CRUD, commits tracking, search/filter, and a stunning glassmorphism dark-mode UI.
- Repository Management — Create, view, search, and delete repositories
- Commits Tracking — View commit timelines with diffs, add new commits
- Live Dashboard Stats — Real-time repository, commit, star, and fork counts
- Search & Filter — Instant repository search via API
- Auto-Seeding Database — Pre-populated with sample data on first launch
- Premium Glassmorphism UI — Animated gradients, floating orbs, glossy cards
| Layer | Technology |
|---|---|
| Frontend | Next.js 14 (React, App Router) |
| Styling | Vanilla CSS (Glassmorphism, Animations) |
| Backend | Next.js API Routes (Node.js) |
| Database | SQLite via better-sqlite3 |
- Node.js 18+ and npm
# Clone the repository
git clone https://github.com/Sanjaykumar-2005/Github_Clone.git
cd Github_Clone
# Install dependencies
npm install
# Start the development server
npm run devOpen http://localhost:3000 in your browser. The SQLite database auto-creates and seeds on first request.
Github_Clone/
├── src/
│ ├── app/
│ │ ├── api/ # Node.js API Routes
│ │ │ ├── repositories/ # Repos CRUD endpoints
│ │ │ └── users/ # Users endpoint
│ │ ├── [user]/[repo]/ # Dynamic repo pages
│ │ │ ├── commits/ # Commits timeline page
│ │ │ ├── layout.tsx # Repo layout with tabs
│ │ │ └── page.tsx # Repo file view
│ │ ├── globals.css # Design system & animations
│ │ ├── layout.tsx # Root layout (Sidebar + Topbar)
│ │ └── page.tsx # Dashboard home page
│ ├── components/
│ │ ├── commits/ # CommitTimeline, CreateCommitForm
│ │ ├── layout/ # Sidebar, Topbar
│ │ └── repository/ # RepoCard, CreateRepoModal
│ └── lib/
│ ├── db.ts # SQLite database layer + seeding
│ └── types.ts # TypeScript interfaces
├── data/ # SQLite database (auto-generated)
├── next.config.mjs
└── package.json
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/repositories |
List repos (?search=) |
POST |
/api/repositories |
Create repository |
GET |
/api/repositories/[id] |
Get single repo |
PUT |
/api/repositories/[id] |
Update repository |
DELETE |
/api/repositories/[id] |
Delete repository |
GET |
/api/repositories/[id]/commits |
List commits |
POST |
/api/repositories/[id]/commits |
Create commit |
GET |
/api/users |
List users |
