This repository implements a full-stack application using:
- Frontend: React.js
- Backend: Spring Boot
- Database: MongoDB
This project requires the following tools and technologies:
Development:
- Node.js (Node.js — Run JavaScript Everywhere)
- npm (bundled with Node.js)
- React.js (https://react.dev/)
- Spring Boot (https://start.spring.io/)
- Maven (https://maven.apache.org/)
- OpenJDK 17 (Java Downloads | Oracle)
- MongoDB (https://www.mongodb.com/)
- MongoDB Compass (https://www.mongodb.com/try/download/compass)
Optional (for containerization):
- Docker (https://www.docker.com/)
- Docker Compose (https://docs.docker.com/compose/)
springboot-reactjs-fullstack-project/
├── client/ # React.js frontend application
│ ├── ... # React components, routes, etc.
├── server/ # Spring Boot backend application
│ ├── src/
│ │ ├── main/java/com/example/... # Java source code
│ │ └── ... # Spring Boot configuration
│ ├── pom.xml # Maven configuration
└── README.md # This file
| Coordinated by | Kaushal Kishor |
|---|---|
| Organization Name | Niit LTD. |
| College | Dr. A. P. J. Abdul Kalam Technical University, Lucknow |
| Email id | [email protected] |
| Department | Information Technology |
| SrNo | Name | Faculty or Student | Department | Institute | Email id | Github id |
|---|---|---|---|---|---|---|
| 1 | <> | Student | Computer Science | <> College of Engineering, Greater Noida | <> | <> |
| 2 | <> | Student | Computer Science | <> College of Engineering, Greater Noida | <> | <> |
Frontend (React.js):
- Handles user interactions, rendering UI elements, and managing application state.
- Communicates with the backend API using HTTP requests (REST or GraphQL).
- Provides a dynamic and responsive user experience.
Backend (Spring Boot):
- Exposes RESTful or GraphQL APIs for data access and manipulation.
- Implements business logic, performs data validation, and interacts with the database.
- Ensures data integrity and security.
Database (MongoDB):
- Stores application data in a flexible and scalable document-oriented format.
- Allows for efficient data retrieval and updates based on specific criteria.
MVC Model (Spring Boot):
- Model: Represents data objects with their attributes and behavior.
- View: Defines the presentation layer (HTML templates) for displaying data.
- Controller: Handles user requests, interacts with models and views, and orchestrates business logic.
Additional Layers (Spring Boot):
- DAO (Data Access Object): Provides a layer of abstraction for database interactions.
- Repository: An enhanced abstraction over DAO for complex queries and data persistence.
Frontend Model (React.js):
- Can also utilize a model layer within React components to manage application state using libraries like Redux or Context API.
- Install required tools (Node.js, npm, Maven, OpenJDK 17, MongoDB, MongoDB Compass).
- (Optional) Install Docker and Docker Compose for containerization.
- Clone this repository:
git clone https://github.com/your-username/springboot-reactjs-fullstack-project.git - Navigate to the project directory:
cd springboot-reactjs-fullstack-project
- Install dependencies:
npm install(within theclientdirectory) - Start the development server:
npm start(usually starts athttp://localhost:3000by default)
- Build the application:
mvn package(within theserverdirectory) - Run the application:
java -jar target/your-project-name.jar(replace with the actual JAR file name)
Frontend (React.js):
- Handles user input and interaction.
- Fetches data from the backend API.
- Renders UI components based on received data.
- Provides a dynamic and user-friendly experience.
Backend (Spring Boot):
- Exposes APIs for CRUD operations (Create, Read, Update, Delete) on data.
- Validates user input and performs business logic.
- Interacts with the database for data storage and retrieval.
- Ensures data security and integrity.