Research Paper App

The Research Paper App is a Spring Boot-based REST API that enables users to manage research papers with full CRUD capabilities. It leverages Supabase, a managed PostgreSQL service, as the backend database, offering a fully cloud-based and scalable solution.

Project Context

This application was built as part of my Object Oriented Programming course at PES University. The application was developed to practice clean backend architecture using modern OOP principles and adheres to the Model-View-Controller (MVC) design pattern and is structured around the SOLID principles, ensuring clarity, testability, and maintainability. It showcases how to architect scalable backends using Java, Spring Data JPA, and cloud-hosted relational databases like Supabase.

Features

  • Object-Oriented & SOLID-Compliant Design
    Classes follow the Single Responsibility Principle and use clear interfaces for abstraction and inversion of control.

  • MVC Architecture
    Logical separation between data model (Entity), controller (API layer), and service (business logic).

  • RESTful API
    Clean, stateless endpoints using standard HTTP methods (GET, POST, PUT, DELETE).

  • Supabase Integration (PostgreSQL)
    Hosted and scalable relational database support using cloud-native infrastructure.

  • Spring Data JPA & Hibernate ORM
    Simplified database interaction using JPA repositories and automatic SQL mapping.

Tech Stack

  • Language: Java
  • Framework: Spring Boot
  • Database: Supabase (PostgreSQL)
  • Architecture: MVC
  • ORM: Hibernate via Spring Data JPA
  • Design Patterns: MVC, Dependency Injection, Repository Pattern
  • Principles: SOLID, DRY, Separation of Concerns
  • Build Tool: Maven

Repository

Explore the full project here: Research Paper App GitHub Repository


Feel free to fork, contribute, or report issues! Whether you’re looking to enhance the backend architecture or integrate additional services, I hope Research Paper App proves to be a helpful resource for your development projects!