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
- Frontend: HTML5, CSS3, Vanilla JavaScript, Jinja2 template engine.
- Backend: Python and the Flask microframework.
- Documentation: MkDocs with the Material theme and the
mkdocs-static-i18nplugin for localization. - Infrastructure: Docker and Docker Compose for container isolation and management.
- Web Server / Proxy: Nginx for traffic routing and serving static files.
- CI/CD: GitHub Actions for automated documentation builds and deployment to the server.
- Hosting: Oracle Cloud Infrastructure (OCI).