Skip to content

Notes Vault is a comprehensive note-taking application that allows users to create, manage, and share text and voice-to-text notes. It leverages modern web technologies and integrates with external services for enhanced functionality.

License

Notifications You must be signed in to change notification settings

AtharvaIngale/Notes-Vault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notes Vault

Notes Vault is a comprehensive note-taking application that allows users to create, manage, and share text and voice-to-text notes. It leverages modern web technologies and integrates with external services for enhanced functionality.


  1. 🤖 Introduction
  2. ⚙️ Tech Stack
  3. 🔋 Features
  4. 📽️ Demo
  5. 🤸 Quick Start
  6. 🕸️ API Reference
  7. 🔗 Author

Notes Vault is a versatile note-taking application designed to streamline information management. Whether you're capturing ideas, meeting minutes, or voice memos, Notes Vault offers a robust platform to store, organize, and share your notes efficiently.
With features including text and voice-to-text note creation, PDF export, and seamless sharing, Notes Vault caters to a wide range of users. Built on a solid foundation of React JS for the frontend and Spring Boot for the backend, the application delivers a user-friendly experience while ensuring data security through MySQL database storage.


Frontend

  • React JS: A JavaScript library for building user interfaces, providing a component-based architecture for efficient development and maintainability.

Backend

  • Spring Boot: A Java-based framework that simplifies the development of RESTful APIs, enabling rapid backend development and deployment.
  • MySQL: A relational database system for securely storing user data, including notes, metadata, and user information.

Additional Tools and Services

  • AssemblyAI API: For accurate and efficient transcription of voice notes to text.
  • iTextPdf: To generate PDF documents from note content for easy sharing and archiving.
  • Web Share API: To facilitate seamless sharing of notes across different platforms.

👉 Text Note Creation and Editing: Users can create and modify text-based notes.
👉 Voice-to-Text Conversion: Users can record audio notes and convert them to text using AssemblyAI API.
👉 PDF Export: Notes can be exported as PDF documents for easy sharing and archiving.
👉 Note Sharing: Users can share notes with others using the Web Share API.
👉 Secure Storage: Notes are stored securely in a MySQL database.
👉 User-Friendly Interface: Built with React JS for an intuitive user experience.
👉 RESTful API: Provides endpoints for CRUD operations on notes.


Demo.Video.mp4

Follow these steps to set up the project locally on your machine.

Prerequisites

Make sure you have the following installed on your machine:

Cloning the Repository

git clone https://github.com/AtharvaIngale/Notes-Vault.git

Configure the database:
Create a new MySQL database and update the configuration in Backend/Notes-Vault/src/main/resources/application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/your-database-name
spring.datasource.username=your-database-username
spring.datasource.password=your-database-password

Backend Installation

Navigate to the backend directory:

cd Backend/Notes-Vault

Install dependencies:

mvn clean install

Start the Spring Boot application:

java -jar target/notes-vault-backend.jar

OR
Using Eclipse IDE
Import the Backend/Notes-Vault folder as existing maven project then, run the NoteVaultApplication.java file in Eclipse IDE.

Frontend Installation

Navigate to the frontend directory:

cd Frontend/notes-vault

Install the project dependencies using npm:

npm install

Running the Project:

npm start

Open http://localhost:3000 in your browser to view the project.


1. API Description for User related action:

METHOD PATH DESCRIPTION
POST /users new user registration
PUT /users update user
GET /users/{id} find and view user
DELETE /users/{id} delete user
POST /users/verifyByEmail user login
GET /users/{id} all users

2. API Description for Notes related action:

METHOD PATH DESCRIPTION
POST /notes/{user_id} add new note
PUT /notes/{user_id} update note
GET /notes/{id} find and view note
DELETE /notes/{id} delete note
GET /notes/byUser-ID/{user_id} all notes
GET /notes/download/{id}/pdf convert notes to pdf

Atharva Ingale





The project is still in progress to add more features

About

Notes Vault is a comprehensive note-taking application that allows users to create, manage, and share text and voice-to-text notes. It leverages modern web technologies and integrates with external services for enhanced functionality.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published