Skip to content

ctsaki25/portfolio

Repository files navigation

Portfolio

A full-stack portfolio website built with React (Frontend) and Spring Boot (Backend).

Technologies Used

  • Frontend: React, TypeScript, i18n
  • Backend: Spring Boot, Java
  • Database: MongoDB
  • Containerization: Docker

Setup Options

Option 1: Using Docker (Recommended)

The easiest way to run the project is using Docker:

docker compose up --build

This 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

Option 2: Manual Setup

Frontend Setup

  1. Install yarn (if not already installed):
npm install --global yarn
  1. Navigate to frontend directory and install dependencies:
cd portfolio-fe
yarn
  1. Create necessary environment files (see Environment Variables section)

  2. Start the development server:

yarn dev

Backend Setup

  1. Navigate to backend directory:
cd portfolio-be
  1. Configure your MongoDB connection in application.properties

  2. Run using Gradle:

./gradlew bootRun

Or use your IDE (IntelliJ IDEA recommended)

Environment Variables

Frontend (.env)

VITE_API_URL=http://localhost:8080

Backend (application.properties)

spring.data.mongodb.uri=your_mongodb_uri

Development Guidelines

  1. Always create a new branch for features/fixes
  2. Follow the existing code style and conventions
  3. Write meaningful commit messages
  4. Test your changes before pushing

Available Scripts

Frontend

  • yarn dev: Start development server
  • yarn build: Build for production
  • yarn test: Run tests

Backend

  • ./gradlew build: Build the application
  • ./gradlw test: Run tests

Project Structure

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

License

This project is licensed under the MIT License - see the LICENSE file for details

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published