Welcome to the repository for my personal portfolio website!
This project showcases my skills, experience, and creative work as an IT undergraduate, Web UI Designer, and Artist.
Live site: https://pramudi02.vercel.app/home
🚧 Status: Fully developed and deployed
- Frontend:
- Angular (Standalone Components)
- TypeScript
- AOS (Animate On Scroll)
- Reactive Forms
- Router Module for navigation
- Backend:
- Node.js/Express (for email services)
- RESTful API endpoints
- Email Service:
- Nodemailer with Gmail
- Custom email templates
- Styling:
- CSS with responsive design
- Font Awesome icons
- Custom animations
The portfolio includes an integrated contact system with:
- Secure Form Submission: Data validation on both client and server side
- Email Notifications: Instant delivery of contact messages to portfolio owner
- Auto-Reply System: Automatic confirmation emails to users who submit the form
- Environment Variable Configuration: Secure credential management
- Responsive Status Updates: Clear feedback on submission status
- Error Handling: Comprehensive error management and user feedback
-
Frontend Components:
- Standalone Angular components for modularity
- Reactive forms with comprehensive validation
- Interactive project carousel with touch support
- Dynamic typing animation component
- Status indicators (loading, success, error)
- Responsive design for all device sizes
- Smooth scroll navigation
-
Backend Services:
-
RESTful API endpoint for form processing
-
Nodemailer integration with Gmail
-
Error handling and logging
-
Environment variable configuration for security
-
CORS configuration for secure client-server communication
-
Backend repository: https://github.com/Pramudi02/Backend
-
git clone https://github.com/Pramudi02/MyPortfolio
cd MyPortfolio- Install dependencies:
npm install- Start the Angular development server:
ng serve- Open your browser and navigate to:
http://localhost:4200
- Navigate to the backend folder:
cd backend- Install dependencies:
npm install- Create a
.envfile in the backend directory:
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-email-password-or-app-password
PORT=3000
- Start the backend server:
npm startThe backend API will be available at http://localhost:3000
- For Gmail integration, you'll need to:
- Enable 2-Factor Authentication
- Generate an App Password
- Use the App Password in your
.envfile
- Ensure Node.js and npm are installed on your system
- The frontend will communicate with the backend for form submissions
- Keep your
.envfile secure and never commit it to version control
- If
ng servefails, try:- Clearing npm cache:
npm cache clean --force - Deleting node_modules:
rm -rf node_modules - Reinstalling dependencies:
npm install
- Clearing npm cache:
- For email service issues:
- Verify Gmail App Password
- Check CORS configuration
- Ensure backend server is running
- For port conflicts:
- Change frontend port:
ng serve --port 4201 - Change backend port in
.envfile
- Change frontend port:
For any questions or issues, feel free to reach out or open an issue on GitHub!
Happy coding! 🚀