Skip to content

Za-du/Testare_tehnica

Repository files navigation

Docflow — Document & Task Management Platform

An internal enterprise platform for managing documents, creating and tracking tasks, team collaboration, and role-based access control.

For step-by-step instructions on how to run the application using Docker, please refer to INSTRUCTIUNI_RULARE.md.


Implementation Details

The application is built using a modern and robust technology stack:

  • Backend: Java 17 with Spring Boot 3.4.1
  • API Architecture: RESTful API
  • Security: Spring Security + JWT (JSON Web Token)
  • Database: PostgreSQL 16 (using Spring Data JPA / Hibernate)
  • Database Migrations: Flyway
  • File Storage: MinIO (S3-compatible object storage)
  • API Documentation: SpringDoc OpenAPI (Swagger UI) - Available at http://localhost:8080/swagger-ui.html when the application is running
  • Containerization: Docker + Docker Compose

Features & Available Operations

1. Authentication and Authorization

  • User registration
  • Authentication via JWT
  • Available roles: ADMIN and USER

2. User Management

Standard User:

  • View own profile
  • Update personal information
  • View the projects they are part of

Administrator:

  • List all users in the system
  • Modify user roles
  • Deactivate users

3. Project Management

Each project contains: name, description, creation date, owner, members, and status.

Available operations:

  • Create a new project
  • Add members to a project
  • Modify project information
  • List existing projects
  • Delete a project (soft delete mechanism)

4. Task Management

Each task contains: title, description, priority, status, deadline, assigned user, creator, and timestamps.

Available operations:

  • Create, edit, and delete tasks
  • Filter tasks by status and priority
  • Assign users to specific tasks

5. Document Upload

Files are stored securely in MinIO, while only metadata is saved in the database. Each document record contains: name, type, size, owner, and upload date.

Available operations:

  • Upload documents to a project
  • Download documents
  • List available documents
  • Delete documents

6. Audit & Logging

  • Logging for all important HTTP requests
  • Robust error logging mechanism
  • Dedicated tracking for critical operations: logins, deletions, and file uploads

7. Validation & Error Handling

  • Validations applied to all incoming requests
  • Proper HTTP response status codes returned for operations
  • Global exception handler to manage unexpected errors securely

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors