Skip to content

Ayushi5027/SmartDMS_Java-SprintBoot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartDMS - Secure Document Management System

SmartDMS is a backend-focused Document Management System built using Java Spring Boot and SQL Server. It helps organizations upload, categorize, search, download, review, approve, reject, and audit documents securely.

Problem Statement

Organizations handle many documents such as invoices, contracts, certificates, employee records, and reports. Manual document handling can lead to duplication, data loss, unauthorized access, and approval delays.

SmartDMS solves this problem by providing a centralized backend system for document storage, approval workflow, smart categorization, search, filtering, and audit tracking.

Features

  • User registration for MVP testing
  • Role-based users: Admin, Manager, Employee
  • Upload and download documents
  • Auto-categorize documents based on title keywords
  • Search documents by title
  • Filter documents by category and status
  • Submit documents for review
  • Approve or reject documents
  • Audit log tracking for upload, download, approval, rejection, and review actions
  • Swagger API documentation

Tech Stack

  • Java
  • Spring Boot
  • Spring Data JPA
  • Spring Security
  • SQL Server
  • Swagger / OpenAPI
  • Maven

API Endpoints

User APIs

Method Endpoint Description
POST /api/users/register Register a user
GET /api/users Get all users
GET /api/users/{id} Get user by ID

Document APIs

Method Endpoint Description
POST /api/documents/upload Upload document
GET /api/documents Get all documents
GET /api/documents/{id} Get document by ID
GET /api/documents/download/{id} Download document
PUT /api/documents/{id}/submit-review Submit document for review
PUT /api/documents/{id}/approve Approve document
PUT /api/documents/{id}/reject Reject document
GET /api/documents/search?title= Search documents by title
GET /api/documents/filter/category?category= Filter documents by category
GET /api/documents/filter/status?status= Filter documents by status

Audit Log APIs

Method Endpoint Description
GET /api/audit-logs Get all audit logs
GET /api/audit-logs/document/{documentId} Get audit logs by document ID

Database Configuration

Create a SQL Server database:

CREATE DATABASE smartdms;

Update src/main/resources/application.properties with your SQL Server credentials:

spring.application.name=smartdms

spring.datasource.url=jdbc:sqlserver://localhost;instanceName=SQLEXPRESS;databaseName=smartdms;encrypt=true;trustServerCertificate=true
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServerDialect

spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

server.port=8080

How to Run

  1. Clone the repository.
git clone https://github.com/Ayushi5027/SmartDMS-Java-SpringBoot.git
  1. Open the project in VS Code or IntelliJ.

  2. Create a SQL Server database named smartdms.

  3. Update application.properties with your SQL Server username and password.

  4. Run the Spring Boot application.

.\mvnw spring-boot:run
  1. Open Swagger UI in the browser.
http://localhost:8080/swagger-ui/index.html

Screenshots

Swagger API Documentation

Swagger Home

User Registration API

User Register API

Document Upload API

Document Upload API

Document List API

Document List API

Audit Logs API

Audit Logs API

Project Highlights

  • Designed REST APIs for document upload, download, review, approval, rejection, search, filtering, and audit tracking.
  • Integrated SQL Server database using Spring Data JPA and Hibernate.
  • Implemented smart rule-based categorization to auto-tag documents based on title keywords.
  • Built audit logging to track important document-related actions.
  • Documented APIs using Swagger UI for easy testing and demonstration.

Future Enhancements

  • JWT authentication
  • Password encryption
  • React frontend
  • Role-based access restrictions
  • Email notifications
  • OCR-based document text extraction
  • Cloud deployment

Resume Summary

SmartDMS is a secure backend Document Management System built with Java Spring Boot and SQL Server. It supports document upload, download, categorization, approval workflow, search, filtering, and audit logging with Swagger-based API documentation.

About

Secure Document Management System built with Java Spring Boot, SQL Server, Swagger, document upload, approval workflow, search, filtering, and audit logs.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages