[GSoc 2026] Introduction : Use PostgreSQL as Full GUI Data Backend for JabRef

Hello Mentors (@koppor, @InAnYan, ) and Community,

My name is Rishikesh Varma, and I am interested in the “PostgreSQL as Full GUI Data Backend” project. I have successfully built JabRef from source and have been exploring the codebase, specifically looking at the BibDatabaseContext and how entries are currently managed in memory.

I understand that the current architecture loads entire libraries into RAM, which causes scalability issues. My proposal focuses on implementing a DAO layer to offload this to PostgreSQL.

I have a few architectural questions to refine my proposal:

  1. Schema Flexibility: BibTeX entries are dynamic (users can add custom fields). Do you envision a strict relational schema (tables with fixed columns) or a hybrid approach using PostgreSQL’s JSONB for custom fields?

  2. Existing SQL Support: I noticed JabRef has some shared SQL database functionality. Should the new PostgreSQL backend integrate with this existing code, or is the goal to build a new, distinct persistence layer?

  3. Pagination Strategy: For the GUI integration, should the MainTable fetch pages based on fixed row counts, or dynamic cursors?

I am currently working on a “Good First Issue” to get familiar with the contribution workflow. I look forward to your feedback.

Best regards, Rishikesh Varma

i have local built the source using gradle and made fair share of research to proceed with the project and here is my mermaid diagram for implementation of it