feat: Add README, documentation, future plans, and tech stack files for portfolio project
This commit is contained in:
parent
7bd4a4fe3e
commit
7697280916
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Personal Portfolio
|
||||||
|
|
||||||
|
## 🌟 Overview
|
||||||
|
This project is a personal portfolio website. It is designed to showcase personal projects, professional experience, and skills in a clean and modern web interface. The backend is powered by Java and Spring Boot, with a dynamic frontend that leverages Thymeleaf.
|
||||||
|
|
||||||
|
### Key Features
|
||||||
|
- **Dynamic Project Showcase**: Automatically fetches and displays public project repositories from a Gitea instance.
|
||||||
|
- **Detailed Project Views**: Each project has a dedicated page that pulls in `README.md`, `documentation.md`, and other details directly from its repository.
|
||||||
|
- **Interactive Resume**: A digital, easy-to-navigate resume page.
|
||||||
|
- **Contact Form**: A fully functional contact form that sends an email upon submission.
|
||||||
|
- **Markdown Rendering**: Project documentation and details written in Markdown are seamlessly converted to HTML.
|
||||||
|
|
||||||
|
---
|
||||||
|
*Focusing on simplicity, usability, and a clean user experience.*
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
# 📖 Documentation
|
||||||
|
|
||||||
|
This document provides instructions on how to set up, run, and understand the project structure.
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
The project follows a standard Spring Boot application structure:
|
||||||
|
- `src/main/java/com/example/Portfolio`: Root package.
|
||||||
|
- `Controllers`: Contains Spring MVC controllers for handling web requests.
|
||||||
|
- `Services`: Houses business logic, such as fetching project data from Gitea and sending emails.
|
||||||
|
- `DTO`: Data Transfer Objects used to shape data for the views.
|
||||||
|
- `Component`: Contains general-purpose components, like the Markdown service.
|
||||||
|
- `src/main/resources`:
|
||||||
|
- `static`: For static assets like CSS, JavaScript, and images.
|
||||||
|
- `templates`: Contains Thymeleaf HTML templates.
|
||||||
|
- `application.properties`: For application configuration.
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
# 🚀 Future Plans
|
||||||
|
|
||||||
|
I am constantly looking to evolve the Personal Portfolio. Here is what is currently on my development roadmap:
|
||||||
|
|
||||||
|
### Core Application
|
||||||
|
- **Externalize Resume Data**: Move the hardcoded resume data from `ResumeController` into a YAML or JSON file for easier updates without requiring a full rebuild and deployment.
|
||||||
|
- **Add a Blog**: Integrate a blogging engine or a simple Markdown-based blog to share articles and tutorials.
|
||||||
|
|
||||||
|
### DevOps & Operations
|
||||||
|
- **CI/CD Pipeline**: Set up a continuous integration and deployment pipeline using GitHub Actions or a similar tool to automate testing and deployments.
|
||||||
|
- **Containerization**: Dockerize the application for consistent development and production environments, and to prepare for orchestration with Kubernetes.
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# 🛠️ Tech Stack
|
||||||
|
|
||||||
|
### Backend
|
||||||
|
- **Language**: Java 25
|
||||||
|
- **Framework**: Spring Boot
|
||||||
|
- **Web**: Spring MVC for traditional request handling and Spring WebFlux for the reactive `WebClient` used to communicate with the Gitea API.
|
||||||
|
- **Templating**: Thymeleaf for server-side template rendering.
|
||||||
|
- **Email**: Spring Boot Starter Mail for handling contact form submissions.
|
||||||
|
|
||||||
|
### Frontend & Interactivity
|
||||||
|
- **Styling**: Bootstrap 5, HTML5, and custom CSS for a responsive and clean design.
|
||||||
|
|
||||||
|
## Other tools
|
||||||
|
- **Markdown Processing**: `commonmark-java` for parsing and rendering Markdown files into HTML.
|
||||||
|
- **Version Control**: Git for source code management.
|
||||||
|
|
||||||
|
## Build & DevOps
|
||||||
|
* **Build Tool**: Maven
|
||||||
Loading…
Reference in New Issue