- Create beginner/, intermediate/, advanced/ folders in PROJECTS/ - Move all existing projects to appropriate difficulty folders - Update all README.md links to reflect new structure - Update contributor links - Fix pyrightconfig.json trailing comma Projects organized: Beginner (6): simple-port-scanner, keylogger, caesar-cipher, dns-lookup, metadata-scrubber-tool, simple-vulnerability-scanner Intermediate (2): api-security-scanner, docker-security-audit Advanced (4): api-rate-limiter, encrypted-p2p-chat, bug-bounty-platform, Aenebris |
||
|---|---|---|
| .. | ||
| src | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc | ||
| README.md | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||
| vite.config.ts | ||
README.md
Encrypted P2P Chat - Frontend
SolidJS frontend with Vite, TypeScript, and Tailwind CSS v4.
Requirements
- Node.js 20.19+ or 22.12+ (required for Vite 7)
Tech Stack
- SolidJS 1.9.10 - Fine-grained reactivity
- TypeScript 5.9 - Type safety
- Vite 7 - Build tool (ESM only, requires Node 20.19+)
- Tailwind CSS v4.1 - Utility-first CSS (stable release)
- @solidjs/router - Client-side routing
- @tanstack/solid-query 5.90 - Data fetching and caching
- nanostores 1.1 - State management
Development
npm install
npm run dev
Frontend runs on http://localhost:3000
Build
npm run build
Output in dist/ directory.
SolidJS Routing
Unlike React Router, SolidJS uses:
<A>component for navigation (not<Link>)useNavigate()for programmatic navigationuseParams()for route parametersuseSearchParams()for query parameters
Environment Variables
Copy .env.example to .env and configure:
VITE_API_URL- Backend API URLVITE_WS_URL- WebSocket URLVITE_RP_ID- WebAuthn Relying Party ID