A clean, professional portfolio website showcasing my projects, education, and experience.
🌐 Live Website: https://neagualexa.github.io
This portfolio website presents my academic journey, research focus on Large Language Models in STEM education, and various projects from my MEng in Electrical and Electronic Engineering at Imperial College London.
This website uses a data-driven approach where all content is stored in JSON files located in the src/data/ folder. This makes it easy to update content without modifying React components.
- Node.js (v14 or higher)
- npm or yarn
- Setup using instructions from https://github.com/gitname/react-gh-pages
-
Clone the repository:
git clone https://github.com/neagualexa/neagualexa.github.io.git cd neagualexa.github.io -
Install dependencies:
npm install
-
Start the development server:
npm start
-
Open in browser: Navigate to
http://localhost:3000
npm run buildnpm run deployThis command runs the predeploy and deploy scripts defined in package.json:
- predeploy: Builds a distributable version of the React app in the
buildfolder - deploy: Pushes the build contents to the
gh-pagesbranch of the GitHub repository
You can specify a custom commit message:
npm run deploy -- -m "Deploy React app to GitHub Pages"-
Navigate to GitHub repository settings:
- Go to your GitHub repository
- Click on the "Settings" tab
- In the sidebar, under "Code and automation", click on "Pages"
-
Configure Build and deployment settings:
- Source: Deploy from a branch
- Branch:
gh-pages - Folder:
/ (root) - Click "Save"
After deployment, commit and push your source code:
git add .
git commit -m "Configure React app for deployment to GitHub Pages"
git push origin mainRepository Structure:
mainbranch: Contains the React app source codegh-pagesbranch: Contains the built/distributable version
src/
├── components/ # All reusable React components
├── pages/ # Top-level page components
│ ├── HomePage.js # Home page
│ ├── ProjectsPage.js # Projects page
│ └── ResumePage.js # Resume page
├── data/ # JSON content files
│ ├── personalInfo.json
│ ├── projectsData.json
│ └── resumeData.json
├── App.js # Main application component
├── index.js # Application entry point
└── styles.css # Global styles