A full-stack portfolio website built with React (Frontend) and Spring Boot (Backend).
- Frontend: React, TypeScript, i18n
- Backend: Spring Boot, Java
- Database: MongoDB
- Containerization: Docker
The easiest way to run the project is using Docker:
docker compose up --buildThis will:
- Build and start both frontend and backend services
- Enable hot-reload for the frontend (changes will reflect automatically)
- Note: Backend changes require rebuilding the container
- Install yarn (if not already installed):
npm install --global yarn- Navigate to frontend directory and install dependencies:
cd portfolio-fe
yarn-
Create necessary environment files (see Environment Variables section)
-
Start the development server:
yarn dev- Navigate to backend directory:
cd portfolio-be-
Configure your MongoDB connection in application.properties
-
Run using Gradle:
./gradlew bootRunOr use your IDE (IntelliJ IDEA recommended)
VITE_API_URL=http://localhost:8080
spring.data.mongodb.uri=your_mongodb_uri
- Always create a new branch for features/fixes
- Follow the existing code style and conventions
- Write meaningful commit messages
- Test your changes before pushing
yarn dev: Start development serveryarn build: Build for productionyarn test: Run tests
./gradlew build: Build the application./gradlw test: Run tests
portfolio/
├── portfolio-fe/ # Frontend application
│ ├── public/ # Static files
│ ├── src/ # Source files
│ └── package.json # Frontend dependencies
│
├── portfolio-be/ # Backend application
│ ├── src/ # Source files
│ └── build.gradle # Backend dependencies
│
└── docker-compose.yml # Docker configuration
This project is licensed under the MIT License - see the LICENSE file for details