Modernizing the server
- Dominant language
- JavaScript
- Stars
- 27.2k
- Forks
- 5.6k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 46
Description
Since the legacy services have almost all been rewritten and the modern services are well abstracted from the server, I'd like to start work on modernizing the server itself.
The server is not a lot of code, though it is a bit tricky, and it's code that I'd like to be as transparent as possible to new people who are reading it.
Scoutcamp has served this project well for a long time, and much respect is due to @espadrine and @jankeromnes for creating something that has performed so well for so long. However there are some downsides, mainly that the framework isn't fully documented, the code is difficult to read, and it hasn't gotten wide adoption. I'd like to move forward with something else.
Criteria would be:
- Good documentation, active maintenance, and high test coverage.
- Native support for async/await support.
- Works well with [path-to-regexp](https://github.com/pillarjs/path-to-regexp) and provides an implementation path for trie-based routing.
I've started playing around with [micro](https://github.com/zeit/micro), [micro-router](https://github.com/pedronauck/micro-router), and [routington](https://github.com/pillarjs/routington). One idea is to create a `micro-trie-router` using `routington` and based on code from `micro-router`.
Contributor guide
Research direction
No file, test, or server entry point is named. Start by locating the current Scoutcamp server and compare it with the stated documentation, maintenance, async/await, routing, and test-coverage criteria; review micro, micro-router, and routington before deciding whether a micro-trie-router is appropriate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100