This is a full-stack web application built with Spring Boot and React for managing contacts. The backend is implemented using Spring Boot and MongoDB, while the frontend is built with React.
- View a list of contacts
- Search contacts
- Sort contacts by first name, last name, or phone number
- Add a new contact
- Update an existing contact
- Delete a contact
- Import contacts from a CSV file
- Export contacts to a CSV file
- Upload contact pictures
- Java
- Spring Boot
- Spring Data MongoDB
- Maven
- React
- React Router
- Axios
- Java 17
- Node.js
- MongoDB
- Docker
- Navigate to the
backend
directory. - Run
mvn clean install
to build the project. - Run
mvn spring-boot:run
to start the backend server.
The backend server will start running on http://localhost:8080
.
- Navigate to the
frontend
directory. - Run
npm install
to install the dependencies. - Run
npm start
to start the development server.
The frontend application will be available at http://localhost:3000
.
The project uses MongoDB as the database. You can run the database using Docker Compose by navigating to the backend/db
directory and running the following command:
docker-compose up -d
This will start the MongoDB container and expose it on localhost:27017
. The application configuration automatically finds the database on that port.