Skip to content

Development and Deployment of a Personal Website

Welcome to the documentation of my personal portfolio website.

This project was created not only as a digital business card but also as a practical testing ground for applying skills in systems engineering, containerization, and web development. The site combines a dynamic web server for the main pages and a static generator for project documentation.

🌟 Key Features

  • Multilingual (i18n): The site fully supports three languages — Russian, English, and Hebrew. Full RTL (Right-to-Left) display support is implemented for Hebrew.
  • Theme Switching (Dark/Light Mode): Seamless switching between light and dark themes is implemented, saving the user's preference in localStorage. The theme automatically synchronizes between the main site and the documentation sections.
  • Integrated Knowledge Base: Project documentation is generated using MkDocs and seamlessly embedded into the overall site structure under the /docs/ route.
  • Responsive Design: Modern layout using CSS Grid (mosaic card structure), which looks great on any device.

🛠 Technology Stack

  1. Frontend: HTML5, CSS3, Vanilla JavaScript, Jinja2 template engine.
  2. Backend: Python and the Flask microframework.
  3. Documentation: MkDocs with the Material theme and the mkdocs-static-i18n plugin for localization.
  4. Infrastructure: Docker and Docker Compose for container isolation and management.
  5. Web Server / Proxy: Nginx for traffic routing and serving static files.
  6. CI/CD: GitHub Actions for automated documentation builds and deployment to the server.
  7. Hosting: Oracle Cloud Infrastructure (OCI).