Separate out datasources to a new repo
- 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
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