parse-community / parse-community/parse-server
Remove GraphQL API from codebase
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 21.4k
- Forks
- 4.8k
- Avg merge
- 7h 45m
- Merged PRs (30d)
- 11
Description
New Feature / Enhancement Checklist
- I am not disclosing a vulnerability.
- I am not just asking a question.
- I have searched through existing issues.
Current Limitation
The GraphQL API has been implemented into the core codebase of Parse Server. This has shown to cause many complications since its implementation, for example:
- the GraphQL API is heavy; it adds a swath of complex dependencies that need to be kept up-to-date
- developers who are not using GraphQL are still carrying the weights of an - unused - GraphQL API on their server, being affected by vulnerabilities in GraphQL dependencies, etc.
- the implementation into the core codebase was really violating a core philosophy of Parse Server which is modularity, allowing developers to optionally add adapters as needed, to keep their deployment as lightweight as possible
Feature / Enhancement Description
Move GraphQL API out of Parse Server into its own adapter. Despite its initial hype, GraphQL won't be the last API of its kind and we will see it become obsolete at some point in the future.
An adapter implementation of the GraphQL API should follow https://github.com/parse-community/parse-server/issues/7744#issuecomment-1001753642 since it is the most sustainable approach, without just shifting the technological debt to another one-of-a-kind adapter interface with its custom specifications.
Example Use Case
n/a
Alternatives / Workarounds
n/a
3rd Party References
n/a
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the architecture discussion in issue #7744, especially comment 1001753642, and inventory the GraphQL implementation and its dependencies in Parse Server. Done means the GraphQL API is no longer part of the core codebase and can be provided as a separate adapter without requiring unused GraphQL dependencies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, javascript, node.js
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100