/myportfolio

My Portfolio Website COMP229 - Assignment 1

Primary LanguageEJS

My Portfolio Website

Overview

This repository contains the code for my Personal Portfolio Website, an assignment for my Web Application Development course. The website is built using Node and Express, and with EJS as the templating engine.

Please note that most of the textual contents in this website are fictitious, and some of them were even generated using AI. So, they only serve for the purpose of illustration only, and should not be taken literally.

A live demo of this website is located at http://zec5umo2.homeunix.net.

Features

Navigation Bar

  • The site includes a consistent navigation bar, allowing users to easily navigate between different pages of the portfolio.

Custom Logo

  • A unique and custom logo is positioned within the navigation bar to enhance brand identity.

Home Page

  • The home page greets visitors with a warm welcome message.
  • It also includes a mission statement and links to the About Me page and other sections of the portfolio.

Projects Page

  • The Projects page showcases at least three significant projects, both past and ongoing.
  • Each project is represented with a relevant image, a brief description of my role, and the outcome of the project.

Services Page

  • This page lists the services I offer, such as general programming, web development, and mobile application development.
  • Accompanied by pertinent images, the presentation is visually appealing.

About Me Page

  • This page presents my legal name and a professional head-and-shoulders image.
  • It provides a concise paragraph about who I am, suitable for viewing by potential employers.

Contact Page

  • The Contact page displays my contact information in a distinct panel.
  • It also includes an interactive form for visitors to send messages and provide their contact information.
  • Although not fully functional, the form captures user information and redirects them to the Home Page.

Technologies Used

In the construction of this portfolio website, various technologies were utilized to ensure robustness, efficiency, and a great user experience. Below is a brief overview of these technologies:

Node.js

  • Usage: Powers the back-end of the portfolio, handling server-side logic and requests.
  • Benefits: Provides a fast, scalable, and efficient runtime environment.

Express.js

  • Usage: Used for routing and handling middleware.
  • Benefits: Simplifies the server creation process, making it easier to write secure, modular, and fast applications.

EJS (Embedded JavaScript Templates)

  • Usage: Utilized for generating the HTML markup for the website.
  • Benefits: Allows for the use of reusable templates and partials, improving maintainability and consistency across the website.

Bootstrap 5

  • Usage: Used for styling and designing responsive and aesthetically pleasing user interfaces.
  • Benefits: Accelerates the development process, ensuring the website is mobile-friendly and accessible across various devices and screen sizes.

Marked.js

  • Usage: For parsing and converting Markdown to HTML. Most of the textual content in the website is written in Markdown for ease of maintenance and modification.
  • Benefits: Enhances readability and presentation of documentation, allowing for ease of maintenance and modification.

TypeScript

  • Usage: Chosen over JavaScript for the development of the website.
  • Benefits: Offers stronger type checking, reducing runtime errors and enhancing code quality and understandability.

Through the integration of these technologies, the portfolio website stands as a testament to technical proficiency and a commitment to high-quality web development standards.

Final Remarks

All aspects of the assignment have been addressed, ensuring a comprehensive and functional Personal Portfolio Website. This platform effectively showcases my skills, projects, and professional details, ready for review by peers, instructors, and potential employers.