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