This project is a full stack web application that incorporates a React-based frontend with TailwindCSS for styling, a Java Spring Boot backend, and a MySQL database running in a Docker container.
- Framework: React
- Language: TypeScript
- Styling: TailwindCSS
- Build Tool: Vite
- Language: Java
- Framework: Spring Boot
- Database: MySQL
- Containerization: Docker
To get the application running, you'll need to start the frontend development server, the backend server, and the MySQL database container.
Ensure you have the following installed:
- Node.js and npm (for the frontend)
- Java Development Kit (JDK) for running the Spring Boot backend
- Docker for running the MySQL database container
Navigate to the frontend directory:
cd path/to/frontendnpm install
or
yarnnpm run dev
or
yarn devThe frontend server will be running at http://localhost:3000.
Navigate to the backend directory:
cd path/to/backendStart the Spring Boot application. This can be done through your IDE or via the command line. To start it from the command line, use:
./mvnw spring-boot:runOr if you're using Gradle:
./gradlew bootRunThe backend server will start, typically running on http://localhost:8080.
Ensure Docker is running on your machine.
cd path/to/backendChange MySQL password in Dockerfile
ENV MYSQL_ROOT_PASSWORD=[set_password]Use the Docker command to build the Docker Image:
docker build -t [user]/fullstack-container:[version]Use the Docker command to start a MySQL container.
docker run --name fullstack-backend -p 3306:3306 -d [user]/fullstack-container:[version]This command starts a MySQL instance with a database named fullstack, accessible at port 3306 on your localhost.
- For the frontend, you can access the Vite configuration and other setup details in the
vite.config.tsfile within the frontend directory. - The backend's application properties, including database connection details, can be configured in the
application.propertiesfile within thesrc/main/resourcesdirectory of the backend application.
Contributions to the project are welcome. Please follow the standard fork and pull request workflow.
This project is licensed under the MIT License.