Skip to content

filemat/portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§‘β€πŸ’» Filep MΓ‘tΓ© - Personal Portfolio Website

This project is my personal portfolio website, designed to showcase my current skill set, and development interests. I consider it an exciting and insightful project, as it allowed me to practice not only programming but also UI/UX design areas where I also learned a few new tricks along the way.


🌐 Live Demo

πŸ”— https://filepmate.hu


πŸ› οΈ Technologies Used

Frontend

  • HTML5 – Base structure
  • CSS3 – Custom, responsive styling
  • Vanilla JavaScript (ES6+) – Interactive behavior, form logic
  • Google reCAPTCHA v2 – Anti-bot protection
  • Figma – UI/UX design and prototyping
  • Modern Fonts – Google Fonts: Outfit, Roboto, Roboto Flex

Backend

  • Node.js + Express.js – RESTful API endpoint (/api/contact)
  • Nodemailer – GMail-based email delivery
  • Axios – reCAPTCHA verification (via Google API)
  • dotenv – Secure environment variable handling
  • express-rate-limit – API request throttling (3 req / min)
  • CORS – Cross-origin request configuration

Deployment & Hosting

  • Vercel – Static frontend hosting with custom domain (filepmate.hu)
  • Railway – Dynamic backend hosting
  • GitHub – Version control and CI/CD integration

🧩 Key Features

  • πŸ‘€ Clean "About Me" section with a personalized layout
  • πŸ’Ό "Projects" showcase cards with tech stack tags
  • πŸ’¬ Contact form functionality
    • Full name, email, and message input fields
    • Integrated Google reCAPTCHA v2
    • Form data sent via POST to backend API
    • Success and error feedback handling on the frontend
  • βœ‰οΈ Email delivery via GMail SMTP using nodemailer
  • πŸ›‘οΈ Rate limiting + CAPTCHA to prevent spam
  • πŸ“± Responsive design

πŸ“ Project Structure

portfolio/
β”œβ”€β”€ FRONTEND/                  # Static frontend files (Vercel)
β”‚   β”œβ”€β”€ index.html             # Main HTML page
β”‚   β”œβ”€β”€ contact.js             # Contact form logic + API request
β”‚   β”œβ”€β”€ styles/
β”‚   β”‚   └── main.css           # Custom responsive stylesheet
β”‚   └── assets/                # Icons, badges, SVGs, rΓ©sumΓ©
β”‚       └── [...svg, badge, cv.pdf etc.]
β”‚
β”œβ”€β”€ BACKEND/                   # Express backend (Railway)
β”‚   β”œβ”€β”€ server.js              # Nodemailer + reCAPTCHA API logic
β”‚   β”œβ”€β”€ package.json           # Dependencies and start script
β”‚   └── .env                   # Environment variables (not versioned)

The project is split into two main parts: a static frontend hosted on Vercel, and a dynamic backend running on Railway.

πŸ”Έ The FRONTEND folder is deployed to Vercel and serves the client-side interface.
πŸ”Έ The BACKEND folder is deployed to Railway, handling email delivery, reCAPTCHA validation, and API logic.

About

Personal portfolio website, feel free to check it out πŸ˜‰

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published