NoteApp is a simple yet powerful note-taking web application built using React for the frontend and Spring Boot for the backend. It allows users to create, view, update, and delete notes with an elegant and intuitive interface.
- User-Friendly Interface: Built with React and Material-UI for a sleek and responsive design.
- CRUD Operations: Create, Read, Update, and Delete notes seamlessly.
- Spring Boot Backend: A robust REST API powered by Spring Boot for note management.
- Database Support: Uses PostgreSQL (or H2/MySQL) for reliable data storage.
- OAuth Authentication: Secure login using Google or GitHub accounts.
- React.js: For building the user interface.
- Material-UI: For pre-designed, responsive UI components.
- Axios: For making HTTP requests to the backend.
- Spring Boot: For building the RESTful API.
- Spring Security: For authentication and authorization.
- PostgreSQL: As the primary database (can be replaced with H2 or MySQL).
- OAuth2: For integrating Google and GitHub login.
- Java 11 or later: For running the Spring Boot backend.
- Node.js: For running the React frontend.
- Maven: For building the Spring Boot project.
- Docker (optional): For containerized deployment.
-
Clone the repository:
git clone https://github.com/sahilvadia7/noteapp.git
-
Navigate to the backend folder:
cd noteapp/backendNoteapp -
Build the backend:
mvn clean install
-
Run the backend:
mvn spring-boot:run
The backend will start at
http://localhost:8080.
-
Navigate to the frontend folder:
cd noteapp/notepad -
Install dependencies:
npm install
-
Start the frontend:
npm start
The frontend will be available at
http://localhost:3000.
- Frontend: Access the app at
http://localhost:3000. - Backend API: The backend API is available at
http://localhost:8080.
You can now start using NoteApp to manage your notes!
To run the app using Docker:
- Ensure Docker is installed on your machine.
- Navigate to the project root directory:
cd noteapp - Build and start the containers:
docker-compose up --build
- Access the app:
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:8080
- Frontend:
Contributions are welcome! Here’s how you can contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
- Make your changes and commit them:
git commit -am 'Add a new feature' - Push to the branch:
git push origin feature-branch
- Open a Pull Request and describe your changes.
This project is licensed under the MIT License. See the LICENSE file for details.