Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace home-made packages (e.g. my/http...) with standard ones (e.g. express.js) #122

Open
3 of 5 tasks
adrienjoly opened this issue Nov 21, 2017 · 1 comment
Open
3 of 5 tasks
Assignees

Comments

@adrienjoly
Copy link
Member

adrienjoly commented Nov 21, 2017

EDIT: Updated on 2019-06-29, Next Steps:


EDIT: Updated on 2019-03-30:

Most important package to replace: my/http, a home-made alternative to Express.js (web framework) that we've developed just for Whyd/Openwhyd. Routes are defined in /config/app.route and server init is done in /app.js.

Why move to Express.js? Because it's been the most popular web framework for Node.js, hence it became a de-facto standard.

Also it would enable us to:

  • make it easier / less scary to attract contributors (because Express.js is well-known in the community)
  • reduce the size of the codebase, by replacing this embedded module by a dependency
  • reduce tech debt and increase test coverage, as this package does not come with tests
  • have less code to maintain
  • try (many) modules that are compatible with Express, e.g. oauth-io/oauthio-server-node: OAuth server SDK

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@adrienjoly adrienjoly created this issue from a note in Development (📥 Inbox / ideas) Nov 21, 2017
@adrienjoly
Copy link
Member Author

Hapi could be a secure alternative to Express, cf https://hueniverse.com/why-you-should-consider-hapi-6163689bd7c2

E.g. I like the fact that "Server load is protected by default with payload limits and request timeouts"

@adrienjoly adrienjoly moved this from 📥 Inbox / ideas to ⚡️To Do Next in Development Mar 30, 2019
adrienjoly added a commit that referenced this issue Jun 29, 2019
…go (#200)

Contributes to #122 and #55.

What does this PR do / solve?
-----------------------------

Openwhyd was developed on top of a custom / home-made web framework called "my-http". In order to standardise it and reduce tech debt, we intend to migrate to Express.js.

This PR is a first step towards that goal: it replaces the custom "my-session" middleware by a more standard combination: [connect-mongo](https://www.npmjs.com/package/connect-mongo) and [express-session](https://www.npmjs.com/package/express-session).

Overview of changes
-------------------

See [list of commits](https://github.com/openwhyd/openwhyd/pull/200/commits) for more details.
adrienjoly pushed a commit that referenced this issue Jun 29, 2019
# [1.8.0](v1.7.2...v1.8.0) (2019-06-29)

### Features

* **api:** migrate from my/session to express-session and connect-mongo ([#200](#200)) ([0a18c5b](0a18c5b)), closes [#122](#122) [#55](#55)
@adrienjoly adrienjoly self-assigned this Jun 29, 2019
@adrienjoly adrienjoly moved this from ⚡️To Do Next to ⚙ In progress in Development Jun 29, 2019
adrienjoly added a commit that referenced this issue Jul 3, 2019
Contributes to #122.

Openwhyd has been running on a legacy / home-made web framework, which can be a turn-off for potential contributors who are used to Express.js

As a second step of the migration explained in #122, this PR consists of turning the `my/http` library into a wrapper of Express.js.
adrienjoly pushed a commit that referenced this issue Jul 3, 2019
# [1.10.0](v1.9.0...v1.10.0) (2019-07-03)

### Features

* **back-end:** migrate from "my/http" to Express.js ([#201](#201)) ([41559fd](41559fd)), closes [#122](#122) [#122](#122)
adrienjoly added a commit that referenced this issue Jul 3, 2019
Contributes to #122.

Openwhyd has been running on a legacy / home-made web framework, which can be a turn-off for potential contributors who are used to Express.js

As a third step of the migration explained in #122, this PR consists of removing the legacy "glue" code from `my/http` from the Express.js wrapper.
adrienjoly pushed a commit that referenced this issue Jul 3, 2019
# [1.11.0](v1.10.0...v1.11.0) (2019-07-03)

### Features

* **back-end:** migrate from "my/http" to Express.js - part 3 ([#204](#204)) ([00e4db2](00e4db2)), closes [#122](#122) [#122](#122)
@adrienjoly adrienjoly moved this from ⚙ In progress to 📥 Inbox / ideas in Development Aug 25, 2020
@adrienjoly adrienjoly removed this from 📥 Inbox / ideas in Development Nov 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant