Open platform to collect and prioritize product feedback

Fider

A platform to collect and organize customer feedback.
Let your customers share, vote and discuss on suggestions they have to make your product even better.

Built with ❤︎ by Guilherme Oenning and contributors

Contributors

This project exists thanks to all the people who contribute.

Read our CONTRIBUTING guide to learn the many ways you can contribute to Fider.

Sponsors

Thanks to BrowserStack for providing us with free cross-browser testing for Fider.

Does your organization use Fider? Become a sponsor and your logo will show up here with a link to your website.

Backers

Thank you to all our backers! 🙏

Owner
getfider
Fider is an open platform to collect and prioritize product feedback
getfider
Comments
  • Problem deleting and saving edited suggestions when using HTTPS (Turned into a discussion about Caddy + Fider)

    Problem deleting and saving edited suggestions when using HTTPS (Turned into a discussion about Caddy + Fider)

    I have everything set up through a reverse proxy on apache2, using certbot to provide an SSL certificate to use HTTPS. Whenever I connect to my website through the domain name (which forces HTTPS) and try to edit or delete feedback, I'm prompted with the following errors (which are shown from the docker logs and web browser console). This doesn't seem to be a problem when I access my website via its IP Address through HTTP. I haven't set up SSL/HTTPS through the docker file yet. Could this be the reason why I'm having this problem? If so, could I get help setting it up? I am having a hard time doing it, even with the instructions here: https://getfider.com/docs/how-to-enable-ssl/. Screen Shot 2021-02-06 at 9 13 59 PM Screen Shot 2021-02-06 at 9 14 38 PM

  • Translate Fider to other languages

    Translate Fider to other languages

    Source: https://feedback.fider.io/posts/8/translate-fider-to-other-languages-internationalization-i18n

    Fider is currently available only on English and our the long term goal is to internationalise it. Being an open source project, we hope to engage with the global community to help us translate it to every existing language ❤

    But before we get there, there's a long path we need to trail to make our strings translatable. The goal of this issue is to track the Plan and Development of this feature. Join us with ideas, feedback and code contributions!

    Definitions

    1. The language is defined per tenant/site and is not based on current browser language (Accept-Language HTTP Header);
    2. The user submitted content WILL NOT be translated;
    3. If a string is not translated, it'll default to English. So it's perfectly possible for some sites to have a mixed Non-English/English text for languages that are not 100% translated; We should show the percentage of completion for each language when user is selecting a language;
    4. The browser should only download the strings for the required language.
    5. The strings that are stored in JSON/XML/TXT/whatever must be available to both Go and React.

    Questions:

    1. Which languages to start with? I (@goenning) can translate it to English and Brazilian Portuguese
    2. How can we support RTL languages? Is it hard?
    3. Which platform to use? GitHub? Crowdin? What other?
    4. Which format to store the strings? JSON?
    5. How do we introduce breaking changes to existing strings? Say we have: { key: "NOT_FOUND_MESSAGE", value: "The page is not found." } and this has been translated to every language. What if we change text to This page does not exist.? How do "deprecate other" strings that have already been translated.
    6. Any Go+React package that can help us on this? It doesn't seem to be hard to implement, but other packages might give us some inspiration.
    7. Do we need different validation per language? E.g.: Latin alphabet we should validate that titles must have at least 10 chars. But on Chinese/Japanese, maybe 2 or 3 is enough. (ref: #614)

    If anyone has experience with a multilingual platform, please share your thoughts and suggestions!

  • Replace deprecated React lifecycle methods with new approach

    Replace deprecated React lifecycle methods with new approach

    Problem: React is deprecating componentWillMount, componentWillReceiveProps & componentWillUpdate as seen here https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html

    Solution: We need to remove all occurrences of these method with suitable replacements. We should also try to enable StrictMode https://reactjs.org/docs/strict-mode.html

  • Is fider still maintained?

    Is fider still maintained?

    There wasn't a new release since more than a year and there are many open PRs. Is this project still maintained or is it dead? Any alternative which you would recommend instead?

  • [WIP] Allow other users to mention/tag other users

    [WIP] Allow other users to mention/tag other users

    Issue:
    https://github.com/getfider/fider/issues/576

    This pull request will include frontend and backend functionality to allow tag/mention suggestions to the user while writing a comment and/or when creating a new suggestion.

    We could also add here the notification of tagged users by email.

    What has been done:

    • Backend endpoint to list users starting with a prefix

    Missing:

    • Frontend Part
    • Sending email to mentioned users

    About the FE part:

    • Looking around I found quite a few React libraries, if we implement that from scratch I'd say it's not a trivial task. Most of the libraries I've found create div elements and position them absolutely in the cursor position. (I'm still looking at alternatives)
  • [BUG] Fider activation email not working on Heroku

    [BUG] Fider activation email not working on Heroku

    Fider Cloud or Self Hosted Self Hosted - Heroku

    Describe the bug With a complete new clean install and the correct email settings deployed to a new heroku instance we receive the email but the activation link takes us to 'Page not found'

    To Reproduce Clean install to Heroku and click on activation link in email.

    Expected behaviour Product set-up page

    Screenshots Screenshot 2021-09-12 at 13 42 21

    Additional context Add any other context about the problem here.

  • Questions to make the Dockerfile better

    Questions to make the Dockerfile better

    Hi there,

    First, sorry for the multiple issues all in one. I am working on making your Dockerfile build everything with a multi stage build amongst other improvements. One little thing that would help me, although I could do it, would be to switch to go modules using golang.org/x/vgo. This way the multi stage build would be much more developer friendly with fast build cycles.

    A few improvements I'm trying to add:

    • Dockerfile builds everything from source (Node and Go)
    • Multi stage build for fast development and testing
    • Runs without root
    • Runs Go unit tests
    • Final image based on Scratch

    I will make a PR as soon as you switch to go modules, or I'll stick to dep.

  • feature: add webhooks customizable from admin panel

    feature: add webhooks customizable from admin panel

    Issue: #892 / #893 / Webhook updates on events / Add Slack Integration

    Please check this discussion (https://github.com/getfider/fider/discussions/969#discussioncomment-1013585) to see every details.

    Note that I based the general idea on what @acamilleri did in his PR and extended it from the environment variable to the admin control panel.

  • Automatic registration for trusted openid providers

    Automatic registration for trusted openid providers

    Hi,

    I'm deploying fider in my organization with my own instance and I'd like to set my instance in private mode to prevent unwanted users to connect and read contents. I set up a self hosted openid provider (keycloak) where I manage all users and I can trust every sign-in coming from it. My issue is that if I activate private mode, I have to invite all users on fider in addition of creating them in keycloak, given that this creation would be a sufficient way to trust connections.

    My wish would be to let administrators enable a kind of « public mode » (in the way it creates profiles automagically) for chosen openid providers.

    Is that in your plans ? Would you like some help to achieve it ? By the way, if there's a better idea, I'll love it for sure ;)

    Regards,

    Christophe

  • Feature: Add Code Splitting

    Feature: Add Code Splitting

    Issue: Initial implementation for Issue #588 to add Code Splitting to reduce overall bundle size.

    Notable changes in this PR:

    • Adds React-Loadable
    • TS Config has been changed to target esnext - this is required to support proper use of import with code splitting. Link. In my own experimentation this change was required - without it code splitting wasn't happening. moduleResolution node is also required to support the existing barrel exports.
    • Remove bulk of route tests. All Page components are wrapped in Loadable which prevents direct comparison of eventually rendered component.
    • Overall main bundle size has dropped. On master the main js bundle with mage watch is 52.8kb, which jumped to 63.4kb with esnext enabled, dropping to 37kb for the main bundle after the router was refactored to use react loadable.

    Comments/Future Work:

    • At the moment the use of barrel exports/imports seems like it's hamstringing the code splitting. We could probably further reduce the main bundle size by auditing the barrel imports in components and pages.
    • Currently getting some CSS Code Splitting warnings that should be probably reviewed
    • Currently getting some jest test warnings about esModuleInterop. Might be worth enabling esmoduleinterop in the typescript config and fixing the current import styles from import * as X from 'y' to import X from 'y'.

    @goenning Did you have any thoughts on the current code splitting implementation? I figured I'd check in with an initial implementation of the code splitting and see what direction we should take it from here. I'd be happy to open another PR if we wanted to tweak the current import style/further prune down the bundle size.

  • [fider/581] Invalid posts should return a 404 and not a 500

    [fider/581] Invalid posts should return a 404 and not a 500

    Issue: #581

    • Adjust the handlers to send back a 404 if the ParamAsInt("number") validation fails.
    • Add an endpoint to retrieve a post (Rest)
  • Any plans to write deploy instructions for Render (or other Heroku alternatives)?

    Any plans to write deploy instructions for Render (or other Heroku alternatives)?

    Now that Heroku free tier is gone, many would want to move to other providers still offering free tiers, one of them being Render. So, a deploy instruction page (similar to Deploy on Heroku) would be beneficial.

  • chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2

    chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • chore(deps): bump jpeg-js and playwright

    chore(deps): bump jpeg-js and playwright

    Removes jpeg-js. It's no longer used after updating ancestor dependency playwright. These dependencies need to be updated together.

    Removes jpeg-js

    Updates playwright from 1.21.1 to 1.28.1

    Release notes

    Sourced from playwright's releases.

    v1.28.1

    Highlights

    This patch release includes the following bug fixes:

    microsoft/playwright#18928 - [BUG] Electron firstWindow times out after upgrading to 1.28.0 microsoft/playwright#18920 - [BUG] [expanded=false] in role selector returns elements without aria-expanded attribute microsoft/playwright#18865 - [BUG] regression in killing web server process in 1.28.0

    Browser Versions

    • Chromium 108.0.5359.29
    • Mozilla Firefox 106.0
    • WebKit 16.4

    This version was also tested against the following stable channels:

    • Google Chrome 107
    • Microsoft Edge 107

    v1.28

    Playwright Tools

    • Record at Cursor in VSCode. You can run the test, position the cursor at the end of the test and continue generating the test.
    • Live Locators in VSCode. You can hover and edit locators in VSCode to get them highlighted in the opened browser.
    • Live Locators in CodeGen. Generate a locator for any element on the page using "Explore" tool.
    • Codegen and Trace Viewer Dark Theme. Automatically picked up from operating system settings.

    Test Runner

    ... (truncated)

    Commits
    • 9ede66a cherry-pick(#18997): fix(reuse): stop pending operations upon reuse/disconnect
    • 76dc43e cherry-pick(#18993): fix(electron): tolerate connection closed during quit
    • f38b2c8 chore: mark v1.28.1 (#18974)
    • 0d5098b cherry-pick(#18968): Revert "fix(webserver): do not spawn webserver as a new ...
    • bbe27dc cherry-pick(#18929): fix(role selector): expanded=false does not match elemen...
    • 226eedf cherry-pick(#18972): fix(electron): consistently emit ready event after app i...
    • 36f8a63 chery-pick(#18884): docs(locator): code snippet fixes (#18887)
    • d284219 cherry-pick(#18854): docs: Java, .NET, Python release notes 1.28 (#18858)
    • 8f9bf0f cherry-pick(#18818): chore: multiply overloaded options in csharp
    • c3335e4 cherry-pick(#18799): chore: allow py code blocks for python
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • chore(deps): bump terser from 5.13.1 to 5.16.0

    chore(deps): bump terser from 5.13.1 to 5.16.0

    Bumps terser from 5.13.1 to 5.16.0.

    Changelog

    Sourced from terser's changelog.

    Changelog

    v5.16.1

    • Disallow private fields in object bodies (#1011)
    • Parse #privatefield in object (#1279)
    • Compress #privatefield in object

    v5.15.1

    • Fixed missing parentheses around optional chains
    • Avoid bare let or const as the bodies of if statements (#1253)
    • Small internal fixes (#1271)
    • Avoid inlining a class twice and creating two equivalent but !== classes.

    v5.15.0

    • Basic support for ES2022 class static initializer blocks.
    • Add AudioWorkletNode constructor options to domprops list (#1230)
    • Make identity function inliner not inline id(...expandedArgs)

    v5.14.2

    • Security fix for RegExps that should not be evaluated (regexp DDOS)
    • Source maps improvements (#1211)
    • Performance improvements in long property access evaluation (#1213)

    v5.14.1

    • keep_numbers option added to TypeScript defs (#1208)
    • Fixed parsing of nested template strings (#1204)

    v5.14.0

    • Switched to @​jridgewell/source-map for sourcemap generation (#1190, #1181)
    • Fixed source maps with non-terminated segments (#1106)
    • Enabled typescript types to be imported from the package (#1194)
    • Extra DOM props have been added (#1191)
    • Delete the AST while generating code, as a means to save RAM
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • chore(deps): bump loader-utils from 1.4.0 to 1.4.2

    chore(deps): bump loader-utils from 1.4.0 to 1.4.2

    Bumps loader-utils from 1.4.0 to 1.4.2.

    Release notes

    Sourced from loader-utils's releases.

    v1.4.2

    1.4.2 (2022-11-11)

    Bug Fixes

    v1.4.1

    1.4.1 (2022-11-07)

    Bug Fixes

    Changelog

    Sourced from loader-utils's changelog.

    1.4.2 (2022-11-11)

    Bug Fixes

    1.4.1 (2022-11-07)

    Bug Fixes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • [BUG] Access to S3 without access and secret access key

    [BUG] Access to S3 without access and secret access key

    Fider Cloud or Self Hosted self-hosted v0.21.1

    Describe the bug Applications will not start or panic on get data without Access Key ID and Secret Access Key.

    To Reproduce

    1. Create IAM role with full access to S3 bucket
    2. Assing role to container
    3. Start container

    Screenshots image

Flagr is an open source Go service that delivers the right experience to the right entity and monitors the impact.
Flagr is an open source Go service that delivers the right experience to the right entity and monitors the impact.

Flagr is an open source Go service that delivers the right experience to the right entity and monitors the impact. It provides feature flags, experimentation (A/B testing), and dynamic configuration. It has clear swagger REST APIs for flags management and flag evaluation.

Dec 25, 2022
The Zuri Core is an open-source API that serves as the backend and backbone of Zuri Chat
The Zuri Core is an open-source API that serves as the backend and backbone of Zuri Chat

The Zuri Core is an open-source API that serves as the backend and backbone of Zuri Chat

Dec 26, 2022
RoadRunner: an open-source high-performance PHP application server, load balancer, and process manager
RoadRunner: an open-source high-performance PHP application server, load balancer, and process manager

RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports running as a serv

Jan 13, 2022
An open-source, on-prem feature flag solution
An open-source, on-prem feature flag solution

An open-source, on-prem feature flag solution Documentation | Features | Values | Examples | Enterprise Flipt is an open source, on-prem feature flag

Dec 24, 2022
CasaOS - A simple, easy-to-use, elegant open-source home server system.
CasaOS - A simple, easy-to-use, elegant open-source home server system.

CasaOS - A simple, easy-to-use, elegant open-source home server system. CasaOS is an open-source home server system based on the Docker ecosystem and

Jan 8, 2023
Go package for the BeagleBone open source hardware

go-beaglebone Go package for the BeagleBone open source hardware Also check out https://github.com/SpaceLeap/go-embedded This package builds on top of

Jul 6, 2019
Fast, multi-platform web server with automatic HTTPS
Fast, multi-platform web server with automatic HTTPS

a project Every site on HTTPS Caddy is an extensible server platform that uses TLS by default. Releases · Documentation · Get Help Menu Features Insta

Jan 1, 2023
Caddy: an extensible server platform that uses TLS by default
Caddy: an extensible server platform that uses TLS by default

a project Every site on HTTPS Caddy is an extensible server platform that uses TLS by default. Releases · Documentation · Get Help Menu Features Insta

Nov 7, 2021
ready-to-use RTSP / RTMP server and proxy that allows to read, publish and proxy video and audio streams
ready-to-use RTSP / RTMP server and proxy that allows to read, publish and proxy video and audio streams

rtsp-simple-server is a simple, ready-to-use and zero-dependency RTSP / RTMP server and proxy, a software that allows users to publish, read and proxy live video and audio streams. RTSP is a specification that describes how to perform these operations with the help of a server, that is contacted by both publishers and readers and relays the publisher's streams to the readers.

Dec 31, 2022
Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob

SFTPGo Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support, written in Go. Several storage backends are supporte

Jan 9, 2023
⚡ A fast, lightweight, and secure chat protocol, client and server, written in Go.

⚡ A fast, lightweight, and secure chat protocol, client and server, written in Go.

Oct 27, 2022
RBTI Golang Server uses PostgreSQL and for its main database and uses Elasticsearch

RBTI Golang Server This server is used for my thesis project, it uses PostgreSQL and for its main database and uses Elasticsearch for faster query spe

Jan 17, 2022
✨ A lightweight HTTP server based on GO, will try to detect your OS and architecture and return as SHELL script. ✨
✨ A lightweight HTTP server based on GO, will try to detect your OS and architecture and return as SHELL script. ✨

✨ A lightweight HTTP server based on GO, will try to detect your OS and architecture and return as SHELL script. ✨

Dec 14, 2022
:tophat: Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support
:tophat: Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support

Web server with built-in support for QUIC, HTTP/2, Lua, Markdown, Pongo2, HyperApp, Amber, Sass(SCSS), GCSS, JSX, BoltDB (built-in, stores the databas

Jan 1, 2023
A registry for resilient mid-tier load balancing and failover.

Discovery Discovery is a based service that is production-ready and primarily used at Bilibili for locating services for the purpose of load balancing

Dec 28, 2022
Flagr is a feature flagging, A/B testing and dynamic configuration microservice
Flagr is a feature flagging, A/B testing and dynamic configuration microservice

Introduction Flagr is an open source Go service that delivers the right experience to the right entity and monitors the impact. It provides feature fl

Dec 25, 2022
A feature flag solution, with only a YAML file in the backend (S3, GitHub, HTTP, local file ...), no server to install, just add a file in a central system and refer to it. 🎛️
A feature flag solution, with only a YAML file in the backend (S3, GitHub, HTTP, local file ...), no server to install, just add a file in a central system and refer to it. 🎛️

??️ go-feature-flag A feature flag solution, with YAML file in the backend (S3, GitHub, HTTP, local file ...). No server to install, just add a file i

Dec 29, 2022
High-performance PHP application server, load-balancer and process manager written in Golang
High-performance PHP application server, load-balancer and process manager written in Golang

[RR2-BETA] RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports runnin

Jan 4, 2023