About • Technologies • Structure • Getting Started • Related Projects
Portfolio is a personal developer portfolio built to present projects, skills, services, and professional experience. It consumes a dedicated REST API and renders project content from Markdown files, offering a dynamic and fully data-driven experience.
This codebase handles the Frontend experience, developed in React 19 + TypeScript + Vite + Material UI to create a responsive and polished interface.
🔗 The backend API developed with Node.js + Express is available here.
This portfolio was built to showcase development work in an interactive and content-rich way. Each project has its own detail view rendered from a Markdown file stored in the API's public folder, enabling rich formatting with syntax highlighting, images, and structured documentation — without rebuilding or redeploying the frontend.
💻 You can check the live version at byissa.dev
- React 19
- TypeScript
- Vite
- Material UI v6 + Emotion
- React Router v7
- Axios
- React Hook Form + Zod
- React Markdown + rehype-raw
- Motion
- Sonner
src/
├── assets/ # Static assets (images, icons)
├── controllers/ # Data fetching logic (project, section)
├── pages/ # Application pages (single-page with scroll sections)
├── routes/ # React Router route definitions
├── services/ # API service layer (axios instance + per-resource services)
├── shared/
│ ├── components/ # React components
│ └── context/ # React contexts (ScrollContext)
├── styles/ # Global CSS styles
└── types/ # TypeScript interfaces (Project, Tech, Category…)
- Node.js 18+
- Backend API running (portfolio-api)
Copy and configure the environment variables:
cp .env.example .envVITE_API_URL=http://localhost:3000# Clone the repository
git clone https://github.com/issagomesdev/portfolio.git
cd portfolio
# Install dependencies
npm install
# Start the development server
npm run devnpm run build
npm run preview🧱 Backend (Node.js + Express API) repository here
