This project is a personal portfolio built with Angular 20, including the pages: Home, About, Skills, Projects, and Contact.
The contact form uses EmailJS to send messages directly from the frontend.
- Project Overview
- Features
- Environment Variables
- Installation & Setup
- Build & Deployment
- Technologies
- License
- Responsive Angular portfolio with Tailwind CSS.
- Navigation between pages: Home, About, Skills, Projects, Contact.
- Contact form securely sends messages via EmailJS.
- API keys are managed via
.envto prevent exposure on GitHub.
- Home Page: Quick introduction and welcome section.
- About Page: Personal info, background, and summary.
- Skills Page: List of technical skills.
- Projects Page: Showcase of completed projects.
- Contact Page: Form to send a message through EmailJS.
- The contact form uses EmailJS to send emails directly from the frontend.
- All sensitive keys (Service ID, Template ID, Public Key) are stored in a
.envfile and injected intosrc/environments/environment.tsautomatically usingset-env.js. - This ensures that private keys are never exposed on GitHub.
The project uses a .env file at the root to store EmailJS keys securely:
EMAILJS_SERVICE_ID=your_service_id
EMAILJS_TEMPLATE_ID=your_template_id
EMAILJS_PUBLIC_KEY=your_public_key
-------------------------------------------------------------------------------------------------------------------
- Important: Do not push .env to GitHub.
- src/environments/environment.ts is automatically generated by the set-env.js script and is included in .gitignore.
To generate environment.ts:
'node set-env.js'
This file will contain your EmailJS keys, pulled from .env, without exposing them on GitHub.
---
Installation & Setup
1.Clone the project:
git clone https://github.com/your-username/portfolio.git
cd portfolio
2.Install dependencies:
npm install
3.Create a .env file with your EmailJS keys.
4.Generate environment.ts:
node set-env.js
5.Start the development server:
ng serve
6.Open your browser at: http://localhost:4200/
---
Build & Deployment
To build the project for production:
ng build --configuration production
The compiled files will be generated in the dist/ folder.
---
Technologies:
-Angular 20
-Tailwind CSS
-EmailJS for sending emails
-Node.js for securely generating environment.ts
---
License
This project is licensed under the MIT License.