AI + Blockchain Hiring Trust Platform - "The Trust Layer for Remote Hiring"
This is a monorepo containing three main packages:
- Frontend: Next.js 14 application (React, TypeScript, styled-components)
- Backend: NestJS API (Node.js, TypeScript, PostgreSQL)
- AI Service: Python/FastAPI service for AI-powered interviews
SkillProof/
β
βββ π package.json # Root monorepo configuration
βββ π package-lock.json # Dependency lock file
βββ π .gitignore # Git ignore rules
βββ π .prettierrc # Code formatting configuration
βββ π docker-compose.yml # Docker services (PostgreSQL, Redis)
βββ π README.md # Project overview and documentation
βββ π FILE_STRUCTURE.md # This file - complete structure
β
βββ π App_Flow/ # Application workflow documentation
β βββ APP_FLOW_BREAKDOWN.md # Flow structure breakdown
β βββ APP_FLOW_PART1.md # Part 1: Landing, Auth, Candidate, AI Interview
β βββ APP_FLOW_PART2.md # Part 2: Blockchain, Public Profile, Employer
β βββ APP_FLOW_PART3.md # Part 3: Error Handling, User Journeys, Data Flow
β
βββ π packages/ # Monorepo packages
β β
β βββ π frontend/ # Next.js 14 Frontend Application
β β βββ π package.json # Frontend dependencies
β β βββ π tsconfig.json # TypeScript configuration
β β βββ π next.config.js # Next.js configuration
β β βββ π next-env.d.ts # Next.js type definitions
β β βββ π .env.local # Environment variables (local)
β β βββ π .env.example # Environment variables template
β β β
β β βββ π src/ # Source code
β β β β
β β β βββ π app/ # Next.js App Router pages
β β β β βββ π layout.tsx # Root layout with providers
β β β β βββ π page.tsx # Landing page (/)
β β β β βββ π globals.css # Global styles
β β β β βββ π registry.tsx # Styled-components SSR registry
β β β β βββ π not-found.tsx # 404 error page
β β β β β
β β β β βββ π login/ # Login page
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π signup/ # Signup page
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π dashboard/ # Dashboard pages
β β β β β βββ π candidate/
β β β β β β βββ π page.tsx
β β β β β βββ π employer/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π profile/ # Profile pages
β β β β β βββ π page.tsx # Profile settings
β β β β β βββ π public/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π interview/ # Interview flow
β β β β β βββ π [sessionId]/
β β β β β β βββ π page.tsx
β β β β β βββ π results/
β β β β β βββ π [sessionId]/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π verify-skill/ # Start verification
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π features/ # Marketing pages
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π pricing/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π how-it-works/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π about/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π blog/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π careers/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π help/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π contact/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π privacy/
β β β β β βββ π page.tsx
β β β β β
β β β β βββ π terms/
β β β β βββ π page.tsx
β β β β
β β β βββ π components/ # React components
β β β β β
β β β β βββ π ui/ # Reusable UI components
β β β β β βββ π Button.tsx
β β β β β βββ π Card.tsx
β β β β β βββ π Input.tsx
β β β β β βββ π Badge.tsx
β β β β β βββ π Modal.tsx
β β β β β βββ π Toast.tsx
β β β β β βββ π Select.tsx
β β β β β βββ π LoadingSpinner.tsx
β β β β β βββ π ProgressBar.tsx
β β β β β βββ π Tabs.tsx
β β β β β
β β β β βββ π layout/ # Layout components
β β β β β βββ π Header.tsx
β β β β β βββ π Footer.tsx
β β β β β
β β β β βββ π interview/ # Interview-specific components
β β β β β βββ π CodeEditor.tsx
β β β β β βββ π QuestionDisplay.tsx
β β β β β βββ π TestResults.tsx
β β β β β
β β β β βββ π blockchain/ # Blockchain/NFT components
β β β β βββ π NFTBadge.tsx
β β β β βββ π WalletConnect.tsx
β β β β βββ π VerificationStatus.tsx
β β β β
β β β βββ π theme/ # Design system
β β β β βββ π theme.ts # Colors, typography, spacing, etc.
β β β β
β β β βββ π lib/ # Utilities and helpers
β β β β βββ π api.ts # API client with interceptors
β β β β
β β β βββ π store/ # State management (Zustand)
β β β β βββ π authStore.ts # Authentication state
β β β β
β β β βββ π types/ # TypeScript type definitions
β β β βββ π index.ts # Shared types (User, Profile, etc.)
β β β
β β βββ π .next/ # Next.js build output (generated)
β β βββ π node_modules/ # Frontend dependencies
β β
β βββ π backend/ # NestJS Backend API
β β βββ π package.json # Backend dependencies
β β βββ π tsconfig.json # TypeScript configuration
β β βββ π nest-cli.json # NestJS CLI configuration
β β βββ π .env # Environment variables
β β βββ π .env.example # Environment variables template
β β βββ π .prettierrc # Code formatting
β β βββ π .eslintrc.js # ESLint configuration
β β β
β β βββ π src/ # Source code
β β β βββ π main.ts # Application entry point
β β β βββ π app.module.ts # Root module
β β β βββ π app.controller.ts # Root controller
β β β βββ π app.service.ts # Root service
β β β βββ π data-source.ts # TypeORM data source
β β β β
β β β βββ π database/ # Database module
β β β β βββ π database.module.ts
β β β β
β β β βββ π users/ # User management module
β β β β βββ π entities/
β β β β β βββ π user.entity.ts
β β β β βββ π dto/ # Data Transfer Objects (to be created)
β β β β βββ π controllers/ # Controllers (to be created)
β β β β βββ π services/ # Services (to be created)
β β β β βββ π users.module.ts # Module definition (to be created)
β β β β
β β β βββ π auth/ # Authentication module (to be created)
β β β β βββ π strategies/ # Passport strategies
β β β β βββ π guards/ # Auth guards
β β β β βββ π decorators/ # Custom decorators
β β β β βββ π auth.module.ts
β β β β
β β β βββ π candidates/ # Candidate module (to be created)
β β β β βββ π entities/
β β β β βββ π dto/
β β β β βββ π controllers/
β β β β βββ π services/
β β β β
β β β βββ π employers/ # Employer module (to be created)
β β β β βββ π entities/
β β β β βββ π dto/
β β β β βββ π controllers/
β β β β βββ π services/
β β β β
β β β βββ π interviews/ # Interview module (to be created)
β β β β βββ π entities/
β β β β βββ π dto/
β β β β βββ π controllers/
β β β β βββ π services/
β β β β
β β β βββ π verifications/ # Verification module (to be created)
β β β β βββ π entities/
β β β β βββ π dto/
β β β β βββ π controllers/
β β β β βββ π services/
β β β β
β β β βββ π blockchain/ # Blockchain integration (to be created)
β β β β βββ π services/
β β β β βββ π blockchain.module.ts
β β β β
β β β βββ π migrations/ # Database migrations
β β β βββ π 1766879620396-InitialSchema.ts
β β β
β β βββ π dist/ # Compiled JavaScript (generated)
β β βββ π node_modules/ # Backend dependencies
β β
β βββ π ai-service/ # Python/FastAPI AI Service
β βββ π main.py # FastAPI application entry point
β βββ π requirements.txt # Python dependencies
β βββ π README.md # AI service documentation
β βββ π .env # Environment variables
β βββ π .env.example # Environment variables template
β β
β βββ π services/ # AI services (to be created)
β β βββ π question_generator.py
β β βββ π code_evaluator.py
β β βββ π code_executor.py
β β βββ π skill_scorer.py
β β
β βββ π models/ # ML models (to be created)
β β βββ π ...
β β
β βββ π utils/ # Utilities (to be created)
β β βββ π docker_client.py
β β βββ π llm_client.py
β β
β βββ π venv/ # Python virtual environment (generated)
β
βββ π contracts/ # Solidity Smart Contracts (to be created)
β βββ π contracts/
β β βββ π SkillProofNFT.sol # ERC-721 NFT contract
β β βββ π VerificationContract.sol
β βββ π scripts/
β β βββ π deploy.js
β βββ π test/
β β βββ π SkillProofNFT.test.js
β βββ π hardhat.config.js
β βββ π package.json
β
βββ π docs/ # Additional documentation (to be created)
β βββ π API.md # API documentation
β βββ π DEPLOYMENT.md # Deployment guide
β βββ π ARCHITECTURE.md # System architecture
β
βββ π node_modules/ # Root dependencies
Technology Stack:
- Next.js 14 (App Router)
- React 18
- TypeScript
- styled-components
- Zustand (state management)
- Ethers.js (blockchain)
- Axios (HTTP client)
Key Directories:
src/app/- Next.js pages (20+ pages)src/components/- Reusable React componentssrc/theme/- Design systemsrc/lib/- Utilities and API clientsrc/store/- State managementsrc/types/- TypeScript definitions
Pages Created:
- Public: Landing, Features, Pricing, How It Works, About, Blog, Careers
- Support: Help, Contact, Privacy, Terms
- Auth: Login, Signup
- Candidate: Dashboard, Profile, Public Profile, Verify Skill, Interview, Results
- Employer: Dashboard
- Error: 404 Not Found
Components Created:
- UI: Button, Card, Input, Badge, Modal, Toast, Select, LoadingSpinner, ProgressBar, Tabs
- Layout: Header, Footer
- Interview: CodeEditor, QuestionDisplay, TestResults
- Blockchain: NFTBadge, WalletConnect, VerificationStatus
Technology Stack:
- NestJS (Node.js framework)
- TypeScript
- TypeORM (database ORM)
- PostgreSQL (database)
- Redis (caching)
- Passport (authentication)
- JWT (tokens)
Key Directories:
src/- Source codesrc/users/- User management (partially implemented)src/migrations/- Database migrationsdist/- Compiled output
Modules to Create:
auth/- Authentication & authorizationcandidates/- Candidate managementemployers/- Employer managementinterviews/- Interview managementverifications/- Skill verificationblockchain/- Blockchain integration
API Endpoints (to be implemented):
/api/auth/*- Authentication endpoints/api/users/*- User management/api/candidates/*- Candidate operations/api/employers/*- Employer operations/api/interviews/*- Interview management/api/verifications/*- Verification operations/api/health- Health check
Technology Stack:
- Python 3.10+
- FastAPI (web framework)
- OpenAI API / LLM APIs
- Docker (code execution sandbox)
- Redis (caching)
Key Files:
main.py- FastAPI applicationrequirements.txt- Python dependencies
Services to Create:
question_generator.py- Generate coding questionscode_evaluator.py- Evaluate code submissionscode_executor.py- Execute code in Docker sandboxskill_scorer.py- Calculate skill scores
Endpoints (to be implemented):
POST /api/interviews/generate-question- Generate questionPOST /api/interviews/evaluate- Evaluate codePOST /api/interviews/execute- Execute codeGET /health- Health check
Technology Stack:
- Solidity
- Hardhat (development framework)
- Ethers.js
- Polygon / Base network
Contracts to Create:
SkillProofNFT.sol- ERC-721 NFT contractVerificationContract.sol- On-chain verification
- Pages: 20+ pages
- Components: 20+ components
- Lines of Code: ~5,000+ lines
- Modules: 1 (users) partially implemented
- Entities: 1 (user.entity.ts)
- Migrations: 1 (InitialSchema)
- Main File: 1 (main.py)
- Endpoints: 4 placeholder endpoints
package.json- Monorepo workspace configuration.gitignore- Git ignore rules.prettierrc- Code formattingdocker-compose.yml- Docker services
next.config.js- Next.js configurationtsconfig.json- TypeScript configuration.env.local- Environment variables
nest-cli.json- NestJS CLI configurationtsconfig.json- TypeScript configuration.env- Environment variables
requirements.txt- Python dependencies.env- Environment variables
README.md- Project overviewFILE_STRUCTURE.md- This fileOverView.txt- Product overviewFeatures.txt- Feature listbreakdown.txt- Task breakdown
App_Flow/APP_FLOW_BREAKDOWN.md- Flow structureApp_Flow/APP_FLOW_PART1.md- Part 1 documentationApp_Flow/APP_FLOW_PART2.md- Part 2 documentationApp_Flow/APP_FLOW_PART3.md- Part 3 documentation