A portfolio web application built with React, TypeScript, and Material-UI, showcasing professional experience, technical skills, and personal projects. Built with Redux Toolkit for state management, the app dynamically loads content from JSON data files and includes comprehensive testing with Jest and React Testing Library. The application is deployed via GitHub Pages and demonstrates proficiency in modern web development practices including TypeScript, responsive design, and CI/CD workflows.
- Frontend: React, TypeScript, Material-UI
- State Management: Redux Toolkit
- Testing: Jest, React Testing Library
- Code Quality: ESLint, Prettier
- Deployment: GitHub Pages, GitHub Actions CI/CD
Run the app in the development mode:
npm startOpen http://localhost:3000 to view it in the browser.
Build the app for production to the build folder:
npm run buildIt bundles React in production mode and optimizes the build for the best performance.
The application is automatically deployed to GitHub Pages via GitHub Actions workflow.
- Automatic Trigger: Deployment runs automatically on every push to the
mainbranch - Manual Trigger: Can also be triggered manually via the GitHub Actions tab
- Build Process:
- Sets up Node.js environment with latest version
- Installs dependencies with
npm ci - Builds the production bundle with
npm run build - Uploads the
buildfolder as a Pages artifact
- Deployment: Deploys the artifact to GitHub Pages with proper permissions
The live application is available at: https://javidahmed64592.github.io/portfolio
- Run tests:
npm test - Run linting:
npm run lint:fix
This project is licensed under the MIT License - see the LICENSE file for details.