PeerSkill

Express.jsTypeScriptMongoDBMongooseBcrypt.jsJWTFramer MotionAxiosCookie ParserCORSDotenvESLintNode.jsNodemonRazorpayReact IconsReact RouterReact.jsTailwind CssVite

Project Overview

• Engineered a campus-native skill exchange platform enabling students to simultaneously operate as Creators and Learners without fragmenting their identity across multiple accounts. - Architected a dual-role system with a unified wallet, notifications, and profile — toggling seamlessly between Creator and Learner dashboard views. - Built a frictionless Creator onboarding flow where users default as Learners and unlock teaching capabilities progressively via a 'Start Teaching' CTA.

System Architecture

• Designed over React.js with a role-aware routing system serving split dashboard views at /app/creator and /app/learner under a shared authentication context. - Powered by a Node.js/Express.js REST API handling session bookings, skill listings, and UPI escrow via Razorpay integration. - Persists platform data — user profiles, skill listings, session records — across MongoDB collections with Mongoose ODM.

Architecture Diagrams

Architecture Diagram

Key Engineering Decisions

• Deliberately deferred role selection to post-signup to preserve dual-role identity — users land as Learners and self-select into Creator mode, eliminating cold-start friction. - Unified wallet and notification state managed at the top-level context layer, shared across both role views to avoid state duplication and ensure consistency. - Scoped Creator and Learner dashboards as separate route trees (/app/creator, /app/learner) while sharing auth, wallet, and profile modules — balancing separation of concerns with UX cohesion.