This project is a fullstack web application built using:
- Frontend: Vite with React and Typescript
- Backend: Spring Boot
- Database: PostgreSQL
- Deployment: Docker containers hosted on Render
The goal is to demonstrate how to build a full-featured web application, from development to deployment.
- Project Structure
- Technologies
- Prerequisites
- Installation
- Running the Project Locally
- Running Project on Docker
.
├── frontend/ # React frontend
│ ├── public/
│ ├── src/ # React components and pages
│ ├── Dockerfile # Dockerfile for React
│ └── package.json # React dependencies
├── backend/ # Spring Boot backend
│ ├── src/ # Java code for APIs and services
│ ├── Dockerfile # Dockerfile for Spring Boot
│ └── pom.xml # Maven dependencies
├── docker-compose.yaml # Docker Compose file to manage multi-container application
└── README.md # Project documentation
- Frontend: React, Typescript
- Backend: Spring Boot, Maven
- Database: PostgreSQL, Neon Database
- Containerization: Docker, Docker Compose
- Deployment: Render
Before you begin, ensure you have the following installed:
- Node.js, currently using v.20
- Java, currently using v.21
- Maven
- Docker
- Docker Compose
git clone https://github.com/MSpilari/fullstack-app-deploy-render.git
cd fullstack-app-deploy-render
cd frontend
npm install
cd ../backend
mvn clean install
cd frontend
npm run dev
The frontend will be accessible at http://localhost:5173
.
cd backend
./mvnw spring-boot:run
The backend will be accessible at http://localhost:8080
.
This project includes a docker-compose.yaml
file to manage the frontend, backend and Postgres database.
docker-compose up -d --build
- Frontend:
http://localhost:9090
- Backend:
http://localhost:8080
- PostgreSQL:
localhost:5432
(default username:user
, password:1234
)
docker-compose down