How adityachy07/portfolio works
This repository is a personal portfolio website with a React frontend and an Express contact API. Visitors view the portfolio’s hero, about, skills, projects, and experience sections, then can submit a contact message to the server for validation and storage. The frontend entry point also provides theme context and shared layout/UI elements. The README is empty and several server modules were not sampled, so the graph shows only evidenced server routing and contact persistence; it does not assume project or authentication flows are active.
Main entry points: App.jsx Portfolio app · main.jsx React entry · contactController.js Message handler · server.js Server startup
Components 20
Portfolio frontend
- React entry
client/src/main.jsx - Portfolio app
client/src/App.jsx - Theme context
client/src/context/ThemeContext.jsx - Navigation
client/src/components/layout/Navbar.jsx - Hero section
client/src/components/sections/Hero.jsx - About section
client/src/components/sections/About.jsx - Skills section
client/src/components/sections/Skills.jsx - Projects section
client/src/components/sections/Projects.jsx - Experience section
client/src/components/sections/Experience.jsx - Contact section
client/src/components/sections/Contact.jsx - Footer
client/src/components/layout/Footer.jsx - Scroll controls
client/src/components/ui/ScrollToTop.jsx
Contact service
- Express app
server/app.js - Contact route
server/routes/contactRoutes.js - Message handler
server/controllers/contactController.js - Contact model
server/models/Contact.js
Application runtime
- Server startup
server/server.js - Database connection
server/config/db.js
Other components
- Visitor
- MongoDB
Connections 19
- Visitor → React entry: opens portfolio
- React entry → Theme context: provides theme
- React entry → Portfolio app: renders
- Portfolio app → Navigation: renders
- Portfolio app → Hero section: renders
- Portfolio app → About section: renders
- Portfolio app → Skills section: renders
- Portfolio app → Projects section: renders
- Portfolio app → Experience section: renders
- Portfolio app → Contact section: renders
- Portfolio app → Footer: renders
- Portfolio app → Scroll controls: renders
- Server startup → Database connection: connects
- Server startup → Express app: starts
- Express app → Contact route: mounts
- Contact route → Message handler: dispatches
- Message handler → Contact model: creates record
- Message handler → MongoDB: checks and writes
- Database connection → MongoDB: connects