gofr-dev / gofr-dev/gofr

Separate out datasources to a new repo

Open
#2,113 5 comments 0 reactions 0 assignees View on GitHub
triage
Dominant language
Go
Stars
20.9k
Forks
1.8k
Avg merge
5d 18h
Merged PRs (30d)
39

Description

## Current Problem

In the current design of the GoFr core, interfaces for all supported datasources—like SQL, Redis, MongoDB, Cassandra, ArangoDB, Solr, and others—are defined directly in the main repository.

Most of the datasources have already been moved into separate modules, but **SQL and Redis are still tightly integrated into the core**. As the list of supported connectors continues to grow, this design becomes harder to manage.

Keeping everything in the core has a few key downsides:

- It clutters the core codebase with implementations many users don’t need.

- It increases the maintenance burden, especially when updating or adding connectors.

- It makes the framework harder to navigate and contributes to unnecessary coupling.

Simply put, the more we pack into the core, the harder it becomes to keep it clean, modular, and easy to evolve.

Contributor guide

Open the contributing guide

Research direction

Start by locating the GoFr core interfaces and the SQL and Redis integrations, then map which datasource code and dependencies would need to move into a separate repository. Done means SQL and Redis are no longer tightly integrated into the core and datasource modules are separated without losing supported functionality.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
databases
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.