Skip to content

Single js backend #37

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

Merged
merged 44 commits into from
Jun 5, 2025
Merged

Single js backend #37

merged 44 commits into from
Jun 5, 2025

Conversation

max-ostapenko
Copy link
Contributor

@max-ostapenko max-ostapenko commented May 11, 2025

Backend implementation as mentioned in HTTPArchive/httparchive.org#1048

Some enhancements:

  • Better performance compared to the existing one
  • ranks and geos endpoints converted from hardcoded data to database queries
  • version filtering for report endpoints (for an upcoming switching to the new DB)
  • new versions endpoint
  • field selection params (with backwards compatibility for onlyname) will reduce payload sizes

@max-ostapenko max-ostapenko changed the title Single backend Single express js backend May 11, 2025
@tunetheweb
Copy link
Member

Do we even need Express? It looks like very simple servers and my understanding of the Node world (been a while since I really worked on this@) is that Node's built-in API have come on a lot, while Express has kinda stalled so you may not need Express.

@max-ostapenko max-ostapenko changed the title Single express js backend Single js backend May 24, 2025
@max-ostapenko max-ostapenko marked this pull request as ready for review May 24, 2025 23:01
@max-ostapenko max-ostapenko requested a review from Copilot May 24, 2025 23:01
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates the backend from legacy Python functions to a single JavaScript-based implementation, aiming for streamlined maintenance and improved performance.

  • Removed all Python backend files (functions/categories and functions/adoption)
  • Updated GitHub Actions pipeline to run Node.js commands and Terraform changes
  • Revised README documentation to reflect the new endpoints and setup instructions

Reviewed Changes

Copilot reviewed 105 out of 105 changed files in this pull request and generated no comments.

Show a summary per file
File Description
functions/categories/requirements.txt Removed legacy Python dependencies
functions/categories/main.py Removed Python dispatcher function
functions/categories/libs/validator.py Removed Python validation logic
functions/categories/libs/utils.py Removed Python utility functions
functions/categories/libs/result.py Removed Python result helper
functions/categories/libs/queries.py Removed Python query implementation
functions/categories/libs/network.py Removed Python network responders
functions/adoption/requirements.txt Removed legacy Python dependencies
functions/adoption/main.py Removed Python dispatcher function
functions/adoption/libs/validator.py Removed Python validation logic
functions/adoption/libs/utils.py Removed Python utility functions
functions/adoption/libs/result.py Removed Python result helper
functions/adoption/libs/queries.py Removed Python query implementation
functions/adoption/libs/network.py Removed Python network responders
conftest.py Removed Python test configurations
README.md Updated documentation for the new Node.js backend and endpoints
.github/workflows/pipeline.yaml Updated pipeline to run Node.js tests and adjusted Terraform parameters
.github/dependabot.yml Added dependabot configuration for regular dependency updates

@max-ostapenko max-ostapenko merged commit 4d0c45f into main Jun 5, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants