Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wizardoftrap/note-sharing-api
The Notes Sharing REST API is a scalable Spring Boot REST API service designed for creating, reading, updating, deleting, and sharing notes of various formats, including PDFs, videos, and web links in form of url. Key features include comprehensive CRUD operations, advanced search functionality by title, department, field, or owner.
https://github.com/wizardoftrap/note-sharing-api
java jpa-hibernate mysql rest-api spring-boot springdata-jpa sql
Last synced: about 1 month ago
JSON representation
The Notes Sharing REST API is a scalable Spring Boot REST API service designed for creating, reading, updating, deleting, and sharing notes of various formats, including PDFs, videos, and web links in form of url. Key features include comprehensive CRUD operations, advanced search functionality by title, department, field, or owner.
- Host: GitHub
- URL: https://github.com/wizardoftrap/note-sharing-api
- Owner: wizardoftrap
- Created: 2024-07-04T06:47:19.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-07-06T06:11:41.000Z (6 months ago)
- Last Synced: 2024-07-06T07:27:19.602Z (6 months ago)
- Topics: java, jpa-hibernate, mysql, rest-api, spring-boot, springdata-jpa, sql
- Language: Java
- Homepage:
- Size: 19.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Notes Sharing REST API
## Overview
The Notes Sharing REST API is a scalable Spring Boot REST API service designed for creating, reading, updating, deleting, and sharing notes in various formats, including PDFs, videos, and web links. This API supports comprehensive CRUD operations and advanced search functionality by title, department, field, or owner.
## Key Features
- **CRUD Operations:** Create, read, update, and delete notes.
- **Format Support:** Share notes in PDF, video, and web link formats using url.
- **Advanced Search:** Search notes by title, department, field, or owner.
- **Scalable Architecture:** Designed for scalability and performance.## Technologies Used
- **Spring Boot:** Framework for building the REST API.
- **Java:** Primary programming language.
- **MySQL:** Database for storing notes.
- **JPA/Hibernate:** ORM for database operations.## API Endpoints
### Notes
- **Get All Notes**
```http
GET /api/notes/all
```- **Get Note by ID**
```http
GET /api/notes/id/{id}
```
- **Get Note by Department**
```http
GET /api/notes/department/{department}
```
- **Get Note by Owner**
```http
GET /api/notes/owner/{owner}
```
- **Get Note by Title**
```http
GET /api/notes/title/{title}
```
- **Get Note by Field**
```http
GET /api/notes/field/{field}
```- **Create Note**
```http
POST /api/notes/add
```
Request Body:
```json
{
"title": "Sample Note",
"contentUrl": "This is a sample note.",
"contentType": "PDF",
"owner": "John Doe",
"department": "Engineering",
"field": "Software Development"
}
```- **Update Note**
```http
PUT /api/notes/update/{id}
```
Request Body (update fields as needed):
```json
{
"id":1,
"title": "Updated Note Title",
"contentUrl": "This is updated sample note.",
"contentType": "PDF",
"owner": "Jane Doe",
"department": "IT",
"field": "Data Science"
}
```- **Delete Note**
```http
DELETE /api/notes/delete/{id}
```
## Contact Information- **Developer**: Shiv Prakash Verma
- **Email**: [email protected]
- **College**: IIT Ropar