Skip to content

Sanjaykumar-2005/Github_Clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐙 GitClone — A Simplified GitHub Clone

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.

GitClone Dashboard SQLite CSS

Dashboard


✨ Features

  • 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

🛠️ Tech Stack

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

🚀 Getting Started

Prerequisites

  • Node.js 18+ and npm

Installation

# 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 dev

Open http://localhost:3000 in your browser. The SQLite database auto-creates and seeds on first request.

📁 Project Structure

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

📡 API Endpoints

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors