-
-
Notifications
You must be signed in to change notification settings - Fork 22
Decision log
Linda edited this page Jan 14, 2020
·
6 revisions
We selected Django with the Django REST Framework because it:
- provides a common framework for building REST services
- provides an opportunity for those learning Python to contribute
- allows those experienced with Django to build on skills they already have
- provides OpenAPI schema/documentation of the services
- exposing CodeBuddies as REST endpoints encourages decoupling from a single UI
- while other technology choices may offer better performance in certain situations, we haven't identified any CB functionality requiring performance optimization
We considered but ruled out the following:
- Go - low interest among the CB community to learn it
- Java - low interest among the CB community
- Node - some interest, but not enough people familiar with it
- GraphQL - additional complexity that doesn't solve an identified problem in the CB codebase. Can be added later if required. Isn't performant with Django right now, though.
- Serverless and GraphQL (using Netlify and AWS Lambda) -- newer/untested technology, fewer Stackoverflow references, depending on Netlify may be expensive if traffic grows
(h/t to @BillGlover for writing most of the bullet points above)