The goal of this assessment is to demonstrate a foundational understanding of HTML, CSS, and JavaScript by building a responsive portfolio webpage. The primary focus is on implementing a contact form that includes real-world JavaScript fundamentals such as form validation, event handling, and API integration.
By completing this assessment, you will showcase:
- Basic front-end development skills.
- The ability to create user-friendly and responsive designs.
- Implementation of JavaScript to handle dynamic behavior and backend integration.
-
Responsive Portfolio Design:
- Includes sections for "About Me," "Projects," and "Contact."
- Aesthetic layout using Flexbox and Grid.
- Fully responsive for all devices.
-
Contact Form:
- HTML: Semantic structure with
input
fields for name, email, and atextarea
for the message. - CSS: Centered form with a modern, user-friendly design.
- JavaScript:
- Client-side form validation.
- Dynamic success/error feedback messages.
- Integration with EmailJS for sending messages.
- HTML: Semantic structure with
-
Form Submission:
- User fills in their name, email, and message.
- JavaScript validates inputs:
- Ensures no field is empty.
- Checks for a valid email format.
- The form is submitted using EmailJS to send the message.
-
Feedback Messages:
- If submission is successful, the user receives a confirmation message.
- If submission fails or inputs are invalid, the user sees appropriate error messages.
- HTML: Semantic structure for accessibility and readability.
- CSS: Modern responsive design using Flexbox and Grid.
- JavaScript: Client-side interactivity, including validation and API integration.
- EmailJS: For sending emails without needing a server backend.
Setup Steps:- Create an account on EmailJS.
- Set up a service and template.
- Get your
service_id
,template_id
, anduser_id
. - Replace placeholders in the JavaScript code with your EmailJS credentials.
- Basic understanding of HTML, CSS, and JavaScript.
- A code editor like Visual Studio Code.
- A web browser to test the portfolio.
- Clone or download the project files.
- Open
index.html
in your browser to view the portfolio. - Edit the EmailJS credentials in
scripts.js
to enable the contact form functionality. - Test the form by filling out the fields and submitting it.
- The portfolio is responsive across all devices.
- The contact form is centered and visually appealing.
- Input validation works as expected.
- Email submissions are processed successfully via EmailJS.
- Feedback messages display correctly for both success and error cases.
- MDN Web Docs: HTML
- MDN Web Docs: CSS
- MDN Web Docs: JavaScript
- CSS Tricks: Flexbox Guide
- EmailJS Documentation
This project is for educational purposes only. Feel free to use and modify it for personal or learning projects.
This assessment is an excellent step toward mastering front-end development. Take your time to learn and refine your skills!