Skip to content

karanmax999/icp_hub_karanside

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Absolutely, Karan 🙌

Here's a fully updated and clear README.md for your ICPHub Dapp that your team can use to:

  • Understand the project architecture
  • See exactly what’s working and why
  • Know what remains to build
  • Know how to test and run the frontend/backend
  • Use a clean checklist to contribute or verify modules

It's production-suitable, cleanly sectioned, and written for developers (your team) who may join or review the project.

🔗 ICPHub - Decentralized GitHub Clone on Internet Computer

A full-stack Dapp built with Next.js, Motoko, and the Internet Computer Protocol, providing GitHub-like features such as repositories, collaboration, commits, and file storage.

🌐 Live Overview

Layer Tech Used
Frontend Next.js 15 (App Router), Tailwind CSS
Authentication Internet Identity (IC)
Backend DFINITY Canister written in Motoko
Identity & Agent Layer @dfinity/use-auth-client
Dev Environment Local DFX Replica + Internet Identity

📦 Folder Structure

├── icphub-frontend       # Next.js frontend (App Router)
├── icphub_backend        # Motoko backend (canister logic)
├── declarations/         # auto-generated typing bindings
├── .env.local            # environment config
└── README.md             # this file

🛠️ Project Phases & Feature Checklist

✅ 1. Project Setup

  • Created scalable Next.js v15 app using App Router
  • Boilerplate + Tailwind CSS + dark theme
  • Motoko backend initialized (icphub_backend)
  • Bootstrap logic for users, repositories, permissions

✅ 2. Dev Environment

  • Installed all IC SDK packages (agent, auth-client, etc.)
  • Created .env.local and passed values to frontend
  • Integrated replica host for local and mainnet
  • use-auth-client used over manual AuthClient

✅ 3. Auth Flow

  • Login with Internet Identity
  • Support for Local II or https://identity.ic0.app
  • Displays principal
  • Handles session and logout

✅ 4. Repositories Dashboard

  • Fetched from canister: Owned + Collaborator Repositories
  • Shows repositories as cards
  • Fallbacks + loading UI
  • Dynamic update after repo creation

✅ 5. Create Repository Flow

  • CreateRepoForm component ✅ reusable + styled
  • Canister call to create repo
  • Instant update to repo list on success

🚧 What’s Left To Build

🔨 6. Repository Detail & Collaboration

  • /repository/[id] dynamic page
  • View commits, file tree, contributors
  • File upload and commit handling
  • Add/remove collaborators (access control)

💾 7. File Management & Commits

  • Upload + store files efficiently
  • View stored files in file browser UI
  • File change history (commit list)
  • Markdown preview rendering (on .md extension)

💄 8. User Experience Enhancements

  • Toasts (repo created, error, etc.)
  • Modal for collaborator invite
  • Animated forms, loading skeletons

🌍 9. Bonus Features

  • Public repo explorer (browse all public repos)
  • User profile pages (activity, repos)
  • Forking/public clone of open source repos
  • CI/CD for frontend (Vercel) and backend (canister deploy)
  • Deploy to ICP Mainnet + whitelist canisters

✅ What Is Already Working Right Now

Feature Status
Internet Identity Auth ✅ Working
Actor logic & canister calls ✅ Working
Repo create + list ✅ Working
Live refresh of repo UI ✅ Working
Canister (backend) logic ✅ Ready
DFX + Internet Identity local ✅ Working
Source structured and typed ✅ Clean
Agent trust via root key ✅ Trusted

💻 How to Use Locally

1. Start DFX Replica

dfx stop
dfx start --clean --background --host 127.0.0.1:4943

2. Deploy Internet Identity + Backend Canister

dfx deploy internet_identity
dfx deploy

3. Setup Frontend

cd icphub-frontend
cp .env.example .env.local
# Then edit .env.local

.env.local Example:

NEXT_PUBLIC_DFX_LOCALHOST=http://127.0.0.1:4943
NEXT_PUBLIC_II_CANISTER_ID=uxrrr-q7777-77774-qaaaq-cai    #  Just open an issue or say "Build X next" — and it's done ✅

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors