This project is a Spring Boot application designed for collaborative document management. It provides secure user authentication, authorization, and manages documents stored in MongoDB. Additionally, it leverages the TextRazor API for advanced text analysis and summarization.
- Overview
- Security Configuration
- Content Models
- Controllers
- Services
- Dependencies
- Usage
- Contributing
- License
The Colaboratory Document Editor is a Spring Boot application designed for collaborative document management. It provides secure user authentication, authorization, and manages documents stored in MongoDB. Additionally, it leverages the TextRazor API for advanced text analysis and summarization.
The application's security is configured in the SecurityConfig class, ensuring secure access to endpoints and protecting user data.
The User class represents a user in the system, storing user details and associated documents.
The TextToSpeech class models a request for text-to-speech conversion, specifying document ID, voice type, and output path.
The RequestAccess class facilitates granting access to documents for other users by specifying the requester's username and the document ID.
The Doc class represents a document in the system, including its title and content.
The PublicController manages public endpoints for user management, allowing user creation.
The UserController handles authenticated user operations, including user deletion and document access control.
The DocController provides endpoints for document management, such as adding, deleting, summarizing, and converting text to speech for documents.
The UserService manages user data persistence, including saving, deleting, and retrieving user information.
The Summarizer service utilizes the TextRazor API to summarize document content based on extracted entities.
The DocService handles CRUD operations for documents stored in MongoDB, ensuring efficient management and retrieval.
Ensure the following dependencies are included in your project:
- Spring Boot Starter Web
- Spring Boot Starter Security
- Spring Data MongoDB
- Lombok (for annotation processing)
- TextRazor API (for text analysis and summarization)
To use the application, configure your MongoDB instance, ensure dependencies are resolved, and run the application. Access the provided endpoints using a REST client or browser to manage users and documents collaboratively.
Contributions are welcome! Fork the repository, make your changes, and submit a pull request for review.
This project is licensed under the MIT License.