Self-Sovereign Anything

Overview

SSX

SSX is a library that enables you to easily add user authentication, session management, and more to your dapp.

Documentation

https://docs.ssx.id

SDKs

Useful Commands

  • yarn build - Build all packages
  • yarn run-examples - Concurrently run the example server and app found in ./examples
  • yarn clean && npx lerna clean -y - Remove all build artifacts and node_modules
Comments
  • Configure SSX Server Request

    Configure SSX Server Request

    Description

    This change allows for updated configuration options to be passed to SSX client to allow for a higher level of configurability for the SSX endpoints.

    Type

    • [x] New feature (non-breaking change which adds functionality)

    Diligence Checklist

    • [x] This change requires a documentation update
    • [ ] I have included unit tests
    • [ ] I have updated and/or included new integration tests
    • [ ] I have updated and/or included new end-to-end tests
    • [ ] I have performed a self-review of my code
    • [ ] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    opened by skgbafa 4
  • [BUG] Running a ssx-test-express-api server in development results in an error

    [BUG] Running a ssx-test-express-api server in development results in an error

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Current Behavior

    yarn dev results in an error:

    6:58:59 PM - Starting compilation in watch mode...
    [0]
    [1] /Users/art/Code/OSS/ssx/node_modules/ts-node/src/index.ts:859
    [1]     return new TSError(diagnosticText, diagnosticCodes, diagnostics);
    [1]            ^
    [1] TSError: ⨯ Unable to compile TypeScript:
    [1] src/index.ts(5,93): error TS2307: Cannot find module '@spruceid/ssx-server' or its corresponding type declarations.
    [1] src/index.ts(39,12): error TS2339: Property 'ssx' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.
    [1] src/index.ts(43,42): error TS2339: Property 'ssx' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.
    [1] src/index.ts(47,17): error TS2339: Property 'ssx' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.
    [1]
    [1]     at createTSError (/Users/art/Code/OSS/ssx/node_modules/ts-node/src/index.ts:859:12)
    [1]     at reportTSError (/Users/art/Code/OSS/ssx/node_modules/ts-node/src/index.ts:863:19)
    [1]     at getOutput (/Users/art/Code/OSS/ssx/node_modules/ts-node/src/index.ts:1077:36)
    [1]     at Object.compile (/Users/art/Code/OSS/ssx/node_modules/ts-node/src/index.ts:1433:41)
    [1]     at Module.m._compile (/Users/art/Code/OSS/ssx/node_modules/ts-node/src/index.ts:1617:30)
    [1]     at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
    [1]     at Object.require.extensions.<computed> [as .ts] (/Users/art/Code/OSS/ssx/node_modules/ts-node/src/index.ts:1621:12)
    [1]     at Module.load (node:internal/modules/cjs/loader:1037:32)
    [1]     at Function.Module._load (node:internal/modules/cjs/loader:878:12)
    [1]     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:82:12) {
    [1]   diagnosticCodes: [ 2307, 2339, 2339, 2339 ]
    [1] }
    [1] [nodemon] app crashed - waiting for file changes before starting...
    [0] src/index.ts(5,93): error TS2307: Cannot find module '@spruceid/ssx-server' or its corresponding type declarations.
    [0] src/index.ts(39,12): error TS2339: Property 'ssx' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.
    [0] src/index.ts(43,42): error TS2339: Property 'ssx' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.
    [0] src/index.ts(47,17): error TS2339: Property 'ssx' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.
    [0] src/redis.ts(5,93): error TS2307: Cannot find module '@spruceid/ssx-server' or its corresponding type declarations.
    [0] src/redis.ts(41,15): error TS7006: Parameter 'session' implicitly has an 'any' type.
    [0] src/redis.ts(63,12): error TS2339: Property 'ssx' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.
    [0] src/redis.ts(67,42): error TS2339: Property 'ssx' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.
    [0] src/redis.ts(71,17): error TS2339: Property 'ssx' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.
    [0]
    [0] 6:59:00 PM - Found 9 errors. Watching for file changes.
    

    Expected Behavior

    Server is expected to start

    Steps To Reproduce

    Env Node version: v19.0.1 OS: Darwin Kernel Version 22.1.0: root:xnu-8792.41.9~2/RELEASE_ARM64_T6000

    1. git clone https://github.com/spruceid/ssx.git
    2. cd ssx/examples/ssx-test-express-api
    3. yarn
    4. yard dev

    Anything else?

    No response

    opened by umate 3
  • `ssx-serverless`

    `ssx-serverless`

    Implementing SSX Server in a serverless environment was a difficult task since the behavior is not decoupled enough. With that in mind this PR introduces a new package ssx-serverless that is a custom implementation of ssx-server focusing on environments that requires a totally custom configuration.

    • [x] New feature (non-breaking change which adds functionality)
    • [x] This change requires a documentation update
    • [x] Integration Tests
    • [x] E2E
    • [x] I have performed a self-review of my code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] Any dependent changes have been merged and published in downstream modules
    opened by w4ll3 3
  • Fix: Suppress SSX-Middleware Exceptions

    Fix: Suppress SSX-Middleware Exceptions

    Description

    This PR passes a flag to siwe in ssx-middleware to prevent exceptions from causing the middleware to crash. More context on suppressExceptions

    Type

    • [x] Bug fix (non-breaking change which fixes an issue)

    Diligence Checklist

    • [x] I have performed a self-review of my code
    • [x] My changes generate no new warnings
    opened by skgbafa 2
  • Add Gulp build compatibility to ssx-core

    Add Gulp build compatibility to ssx-core

    Description

    Builds with Gulp throw errors due to issues resolving "duplicate" exports. This change breaks up how we export modules in ssx-core and ands an example building with Gulp to the monorepo to test this and future changes.

    Type

    • [x] Bug fix (non-breaking change which fixes an issue)
    opened by skgbafa 1
  • Add flags to test script to avoid open handles

    Add flags to test script to avoid open handles

    Description

    This updates the test script by adding some flags to prevent open handles. Due to these open handles, the build workflow was taking more than 10 minutes to complete.

    Type

    • [x] Bug fix (non-breaking change which fixes an issue)
    opened by Juliano1612 1
  • Add Resolve Lens Feature

    Add Resolve Lens Feature

    Description

    This adds an ENS resolution feature to the client and server packages, allowing the developer to choose where to resolve it. The client resolution will override it If it is enabled in both. This also updates the examples to reflect the latest changes.

    Type

    • [x] New feature (non-breaking change which adds functionality)

    System Configuration

    Node Version: 16.13.1 OS: ubuntu 20.04 Browser Version: Chrome 108.0.5359.94

    Diligence Checklist

    • [x] This change requires a documentation update
    • [x] I have included unit tests
    • [x] I have performed a self-review of my code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] Any dependent changes have been merged and published in downstream modules
    opened by Juliano1612 1
  • SSX v1.1.1

    SSX v1.1.1

    Description

    This PR bumps the patch versions of the libraries in the SSX Monorepo to v1.1.1. It has imporovements to ssx-core, ssx-server and ssx-sdk

    Type

    • [x] Release
    opened by skgbafa 1
  • Documentation

    Documentation

    Description

    Update to the documentation branch to sync with Gitbook. Archived current documentation as v1.0.0 in respective folders.

    Type

    • [x] Documentation
    opened by skgbafa 1
  • Update Documentation - v1.1.0 Release

    Update Documentation - v1.1.0 Release

    Description

    Updates the documentation branch to reflect the latest changes in main now that we have a new release in order to auto-generate our hosted documentation.

    Note: Merging auto-updates the documentation.

    Type

    • [x] Documentation update
    • [x] There are no major or breaking code changes associated with this PR

    Diligence Checklist

    • [x] My changes generate no new warnings
    • [x] Any dependent changes have been merged and published in downstream modules
    opened by obstropolos 1
  • Fix Dependabot Warnings

    Fix Dependabot Warnings

    Description

    Several dependency updates in both the package.json and the yarn.lock files have been updated to address issues from dependabot.

    Type

    • [x] Bug fix (non-breaking change which fixes an issue)

    Diligence Checklist

    • [x] I have performed a self-review of my code
    • [x] My changes generate no new warnings
    opened by skgbafa 1
  • Add NextAuth support to ssx-react

    Add NextAuth support to ssx-react

    Description

    This PR adds support for NextAuth to ssx-react and a corresponding example (ssx-test-nextauth). This PR touches a lot of things! Changes include creating new packages, refactoring ssx-server, and updating ssx-react. Some of the changes were made while debugging next stuff, but were not the eventual solution. I left them in for refactor purposes. I'll highlight them! Please comment on any refactor changes as well as new packages.

    Updated packages:

    • ssx-core
    • ssx-server
    • ssx-react

    New Packages

    • ssx-server-middleware

    Type

    • [x] New feature (non-breaking change which adds functionality)

    Diligence Checklist

    • [x] This change requires a documentation update
    • [ ] I have included unit tests
    • [ ] I have updated and/or included new integration tests
    • [ ] I have updated and/or included new end-to-end tests
    • [x] I have performed a self-review of my code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    opened by skgbafa 1
Releases(ssx-v1.1.1)
  • ssx-v1.1.1(Dec 13, 2022)

    Patch Changes

    Update the ssx configuration to accept updated parameters for the server routes. These routes can now accept a more complex configuration, allow for different connections to different backends.

    const ssx = new SSX({
        providers: { 
            server: { 
                host: 'http://ssx-server-host.com' 
                routes: {
                    nonce:  {
                        url: '/ssx-custom-nonce',
                        method: 'post'
                    }
                }
            } 
        }
    });
    
    Source code(tar.gz)
    Source code(zip)
  • ssx-serverless-v1.1.1(Dec 13, 2022)

  • ssx-server-v1.1.1(Dec 13, 2022)

  • ssx-react-v1.1.1(Dec 13, 2022)

  • ssx-gnosis-extension-v1.1.1(Dec 13, 2022)

  • ssx-core-v1.0.1(Dec 13, 2022)

    Patch Changes

    • b25cbde: Updated SSXServerRoutes type to SSXServerRouteNames to reflect usage in ssx-server
    • b25cbde: Update the SSXServerRoutes type to accept a route configuration compatible with Axios Request Config to allow for more complex server configurations.
    Source code(tar.gz)
    Source code(zip)
  • ssx-v1.1.0(Dec 8, 2022)

    1.1.0

    Minor Changes

    • 83c314c: Enable custom paths for endpoints on client and server. Due to the change in SSXClientConfig, it now accepts the server's routes configuration:

      const ssx = new SSX({
        providers: {
          server: {
              host: 'http://localhost:3001',
              routes: {
                  nonce: '/ssx-custom-nonce',
                  login: '/ssx-custom-login',
                  logout: '/ssx-custom-logout',
              }
          }
        }
      });
      

      This is an optional configuration and the default values are: nonce: '/ssx-nonce', login: '/ssx-login', logout: '/ssx-logout'. It isn't necessary to override all of them, you can only override one of them.

    Patch Changes

    • c989838: Refactor code to avoid duplication and improve performance.
      • Adds @spruceid/ssx-core as a dependency;
      • Removes all types and interfaces declarations. They were moved to ssx-core;
      • Exports SSXConfig (deprecated) and SSXClientConfig;
      • Exports SSXProviders (deprecated) and SSXClientProviders;
      • Exports SSXSession (deprecated) and SSXClientSession;
      • Removes all utils functions. They were moved to ssx-core;
      • Optimizes try/catch blocks;
      • Updates examples/ssx-test-dapp to support ENS resolution from examples/ssx-test-serverless-dynamodb-api.
    • c66f308: Include and export SiweMessage from the siwe dependency.
    • Updated dependencies [c989838]
    • Updated dependencies [83c314c]
    Source code(tar.gz)
    Source code(zip)
  • ssx-serverless-v1.1.0(Dec 8, 2022)

    Minor Changes

    • c989838: Refactor code to avoid duplication and improve performance.

      • Adds @spruceid/ssx-core as a dependency;
      • Removes some types and interfaces declarations. They were moved to ssx-core;
      • Removes all utils functions. They were moved to ssx-core;
      • Optimizes try/catch blocks;
      • Changes axios version to "^0.27.2";
      • Updates examples/ssx-test-serverless-dynamodb-api to resolve ENS according to the request params and fixes the /ssx-login JSON response.
    • Updated dependencies [c989838]

    • Updated dependencies [83c314c]

    Source code(tar.gz)
    Source code(zip)
  • ssx-server-v1.1.0(Dec 8, 2022)

    Minor Changes

    • 83c314c: Enable custom paths for endpoints on client and server. This now accepts the routes configuration when instantiating the middlewares as follows:

      const expressMiddleware = SSXExpressMiddleware(ssx, {
          nonce: '/ssx-custom-nonce',
          login: '/ssx-custom-login',
          logout: '/ssx-custom-logout',
        });
      
      // or
      
      const httpMiddleware = SSXHttpMiddleware(ssx, {
          nonce: '/ssx-custom-nonce',
          login: '/ssx-custom-login',
          logout: '/ssx-custom-logout',
        });
      

      The second parameter with the configuration object is optional and the default values are: nonce: '/ssx-nonce', login: '/ssx-login', logout: '/ssx-logout'. It isn't necessary to override all of them, you can only override one of them.

    Patch Changes

    • c989838: Refactor code to avoid duplication and improve performance.

      • Adds @spruceid/ssx-core as a dependency;
      • Removes all types and interfaces declarations. They were moved to ssx-core;
      • Exports SSXConfig (deprecated) and SSXServerConfig;
      • Exports SSXProviders (deprecated) and SSXServerProviders;
      • Removes all utils functions. They were moved to ssx-core;
      • Optimizes try/catch blocks.
    • c66f308: Include and export SiweMessage from the siwe dependency.

    • Updated dependencies [c989838]

    • Updated dependencies [83c314c]

    Source code(tar.gz)
    Source code(zip)
  • ssx-react-v1.1.0(Dec 8, 2022)

    Minor Changes

    • 1c685c8: This allows a for different web3 providers to be passed to the ssx-react instance. It still uses wagmi.sh as the default provider if none is passed.

    Patch Changes

    • c989838: Refactor code to avoid duplication and improve performance.

      • Updates ssxConfig?: SSXConfig; on SSXProviderProps to ssxConfig?: SSXClientConfig; (non breaking change).
    • Updated dependencies [c989838]

    • Updated dependencies [c66f308]

    • Updated dependencies [83c314c]

    Source code(tar.gz)
    Source code(zip)
  • ssx-gnosis-extension-v1.1.0(Dec 8, 2022)

    1.1.0

    Minor Changes

    • c989838: Refactor code to avoid duplication and improve performance.

      • Adds @spruceid/ssx-core as a dependency;
      • Adds types from ssx-core to all SSX related variables;
      • Optimizes try/catch blocks.
    • Updated dependencies [c989838]

    • Updated dependencies [83c314c]

    Source code(tar.gz)
    Source code(zip)
  • ssx-core-v1.0.0(Dec 8, 2022)

    SSX Core v1.0.0

    We're excited to announce the first release of SSX Core, a package holds the core types, commonly reused components and logic throughout SSX. This package helps us write better, more testable and maintainable code.

    What's New

    Major Changes

    • c989838: Refactor code to avoid duplication and improve performance.
      • This package was created to held the types definitions and utils functions to all packages. This reduces the amount of duplicated code, prevent circular dependencies, reduces package sizes (tree-shaking during transpilation), and ensures that changes to the API will need a bump to this new package.
      • To unify the packages some interfaces/types names were updated:
        • @spruceid/ssx-sdk: SSXConfig -> SSXClientConfig;
        • @spruceid/ssx-sdk: SSXProviders -> SSXClientProviders;
        • @spruceid/ssx-sdk: SSXSession -> SSXClientSession;
        • @spruceid/ssx-server: SSXConfig -> SSXServerConfig;
        • @spruceid/ssx-server: SSXProviders -> SSXServerProviders;

    Minor Changes

    • 83c314c: Enable custom paths for endpoints on client and server.
      • Creates and exports SSXServerRoutes interface
      • Adds routes?: SSXServerRoutes to SSXClientConfig.providers.server.
    Source code(tar.gz)
    Source code(zip)
  • ssx-v1.0.0(Nov 15, 2022)

    Major Changes

    • f317c82: Public release of the SSX SDK

    Minor Changes

    • a91af88: Throws an error in case an API is configured but no nonce is returned from it.
    • 1072382: Add ENS resolution feature to the client and server to allow the developer to choose where to resolve it.
      • Adds ENS resolution configuration when creating a new SSX instance. This configuration isn't mandatory;
      • Updates SSXSession interface to add ens: SSXEnsData as optional property;
      • Updates ssx.signIn() to resolve ENS data according to the SSX config. This method now sends resolveEns param to the /ssx-login request;
      • Adds ssx.resolveEns(...) method to resolve ENS data on client;
      • The internal SSX session object is now public and accessible by ssx.session;
      • Updates ssx-test-dapp to conform with the latest changes.

    Patch Changes

    • Updated dependencies [f317c82]
    • a44f78c: Detect wallet connection and prevent connect attempt if already connected
    • 0f84d97: Detect if a web3 provider is being provided instead of always instantiating a new Web3Provider.
    Source code(tar.gz)
    Source code(zip)
  • ssx-serverless-v1.0.0(Nov 15, 2022)

    Major Changes

    • f317c82: Public release of the SSX SDK

    Patch Changes

    • 1072382: Add ENS resolution feature to the client and server to allow the developer to choose where to resolve it.

      • Updates the ENS resolution to only return defined properties.
    • Updated dependencies [f317c82]

    Source code(tar.gz)
    Source code(zip)
  • ssx-server-v1.0.0(Nov 15, 2022)

    Major Changes

    • f317c82: Public release of the SSX SDK

    Minor Changes

    • 1072382: Add ENS resolution feature to the client and server to allow the developer to choose where to resolve it.
      • Adds ssx.resolveEns(...) method to resolve ENS data;
      • Express and HTTP middlewares /ssx-login responses were updated. These requests were returning a session object with a session property. Now it returns a session object without the session property, but keeping all information;
      • Updates ssx-test-express-api and ssx-test-http-api to conform with the latest changes.

    Patch Changes

    Source code(tar.gz)
    Source code(zip)
  • ssx-react-v1.0.0(Nov 15, 2022)

  • ssx-gnosis-extension-v1.0.0(Nov 15, 2022)

    Purpose

    spaceIds now will be used for delegation. For SIWE spaceIds are keccak256("siwe" + delegate.address). This allows for multi-delegation per Safe.

    Resolution

    Updated event filters to instead of filter only by delegate.address to also filter by spaceIds.

    End-User Impact

    Delegations made outside the new space will not be displayed.

    Support Impacts

    All delegations will need to be re-made under the new spaceId

    Major Changes

    • f317c82: Public release of the SSX SDK
    Source code(tar.gz)
    Source code(zip)
  • create-ssx-dapp-v1.0.0(Nov 15, 2022)

  • ssx-v0.1.1(Nov 9, 2022)

    Overview

    This updates the ssx-sdk to give more context and flexibility to the ssx-powered server when manipulating the session.

    Purpose

    ssx-sdk getNonce, signIn and signOut requests send more parameters to the ssx-powered server to give more context and flexibility when manipulating the session.

    Resolution

    We added more parameters to the requests as follow:

    • GET /ssx-nonce now passes address, chainId, domain and issuedAt as query parameters
    • POST /ssx-login and /ssx-logout now passes all session information (siwe, signature, address, walletAddress, chainId and daoLogin) as body

    Developer Impacts

    • Developers can now pass instantiated web3Providers to SSX

    End-User Impact

    • Users will no longer be prompted to connect if they have already connected their wallet to the site

    Support Impacts

    None

    Source code(tar.gz)
    Source code(zip)
  • ssx-react-v0.1.0(Nov 9, 2022)

    We're excited to announce the first release of SSX-react, a package that enables you to easily add ssx to React and Next.js applications. This package provides a React Provider and Hook to access ssx in your components.

    Check out the ssx-react documentation for more information on how to get started with ssx-react.

    What's New

    • Initial release of ssx-react
    Source code(tar.gz)
    Source code(zip)
  • ssx-serverless-v0.1.0(Nov 9, 2022)

    We're excited to announce the first release of SSX Serverless, a library that enables you to easily integrate Sign-In with Ethereum on your serverless app for authenticating users, managing sessions, understanding user metrics, and much more.

    Check out the SSX Serverless documentation for more information on how to get started.

    What's New

    • Initial release of SSX Serverless
    • Adds support for AWS Lambda
    • Adds support for understanding user metrics
    Source code(tar.gz)
    Source code(zip)
  • create-ssx-dapp-v0.1.1(Nov 1, 2022)

    This updates the dapp template's design to match the ssx-test-dapp, and changes 'Delegation History' to 'Dao Login' when asking to enable features during setup.

    Source code(tar.gz)
    Source code(zip)
  • ssx-v0.1.0(Oct 18, 2022)

    SSX v0.1.0

    We're excited to announce the first release of SSX, a library that enables you to easily integrate Sign-In with Ethereum for authenticating users, managing sessions, understanding user metrics, and much more.

    We've made it simple to add SSX to both your frontend client app, as well as your backend server with minimal configuration.

    Check out the SSX documentation for more information on how to get started.

    What's New

    • Initial release of SSX
    • Adds support for Sign-In with Ethereum
    • Adds support for managing sessions
    • Adds support for understanding user metrics
    Source code(tar.gz)
    Source code(zip)
  • ssx-server-v0.1.0(Oct 18, 2022)

    SSX Server v0.1.0

    We're excited to announce the first release of SSX Server, a library that enables you to easily integrate Sign-In with Ethereum on your server for authenticating users, managing sessions, understanding user metrics, and much more.

    Check out the SSX Server documentation for more information on how to get started.

    What's New

    • Initial release of SSX Server
    • Adds support for ExpressJS
    • Adds support for Connect and Node Http Servers
    • Adds support for understanding user metrics
    Source code(tar.gz)
    Source code(zip)
  • ssx-gnosis-extension-v0.1.0(Oct 18, 2022)

    SSX v0.1.0

    We're excited to announce the first release of SSX Gnosis Extension, a package that enables the main SSX package to enable users to log in on behalf of DAOs via the delegate registry smart contract by enabling a flag called enableDaoLogin. To learn more about how this works in SSX, check out the SSX DAO Login documentation.

    What's New

    • Initial release of SSX Gnosis Extension
    • Adds support for DAO Login in ssx and ssx-server
    Source code(tar.gz)
    Source code(zip)
  • create-ssx-dapp-v0.1.0(Oct 18, 2022)

    create-ssx-dapp v0.1.0

    We're excited to announce the first release of Create SSX Dapp, a package that enables you to easily create a new SSX dapp with a single command. It aims to be the simplest way to get a dapp started that integrates Sign-In with Ethereum for authenticating users, managing sessions, understanding user metrics, and much more.

    Check out the SSX documentation for more information on how to get started with Create SSX Dapp.

    What's New

    • Initial release of Create SSX Dapp
    Source code(tar.gz)
    Source code(zip)
Owner
Spruce Systems, Inc.
Spruce Systems, Inc.
Annotation tools for the web. Select text, images, or (nearly) anything else, and add your notes.

Annotator Annotator is a JavaScript library for building annotation applications in browsers. It provides a set of interoperable tools for annotating

Open Annotation 2.6k Dec 23, 2022
Sachit Yadav 6 Nov 3, 2022
Allows the public to easily report and track the geolocation of anyone or anything they spot outside, using a mobile app or web frontend.

LIVE DEMO: https://armytracker.com/ (tracking the invading Russian army in Ukraine) Attention: - If you'd like to help the project either as a program

Michal Certicky 9 Mar 27, 2022
Check your device when you have anything to change on your PC or mobile.

opgg-use-device-detector Check your device when you have anything to change on your PC or mobile. ❤️ it? ⭐️ it on GitHub opgg-use-device-detector basi

ChoGeonHo 11 Aug 6, 2022
JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

Aykut Saraç 20.6k Jan 4, 2023
📈 AI powered web scraper that let's you scrape anything you want from the web including google search results

AI powered web scraper that let's you scrape anything you want from the web including google web search results from your terminal. And at the same ti

Udhay rajeev 27 Dec 27, 2022
HackFest is a 36-hour long hackathon wherein you have to put on your hacker hats and build anything that falls in either or both the domain of full-stack web development

HackFest is a 36-hour long hackathon wherein you have to put on your hacker hats and build anything that falls in either or both the domain of full-stack web development (the stack we learn in full-stack web developer roadmap on codedamn).

Shivam Kumar 2 Jun 6, 2022
Want to preserve your loved one's voices for eternity? Narrate anything using the a voice imprint that can be made in as little as 10 minutes of audio samples. Easy as pie.

Want to preserve your loved one's voices for eternity? Narrate anything using the a voice imprint that can be made in as little as 10 minutes of audio samples. Easy as pie.

Ari 15 Nov 29, 2022
Create a new project with Next.js, TypeScript, Eslint, Prettier in just 1 second and you don't need to setup anything.

Next + TypeScript + Eslint + Prettier Template ?? Create a new project with Next.js, TypeScript, Eslint, Prettier in just 1 second and you don't need

Hung Minh 11 Oct 2, 2022
A rate-limiter using Durable Objects on CF Workers that actually doesn't rate limit anything.

Rate Limiter - built for Cloudflare Workers, using Durable Objects Features Supports fixed or sliding window algorithms Scoped rate-limiting Caching C

Ian 11 Dec 15, 2022
A fancy self-hosted monitoring tool

Uptime Kuma It is a self-hosted monitoring tool like "Uptime Robot". Features Monitoring uptime for HTTP(s) / TCP / Ping. Fancy, Reactive, Fast UI/UX.

Louis Lam 27.4k Jan 3, 2023
A self-hosted solution for backing up and viewing backed up mobile photos

Photostore Photostore is a self-hosted, client-server solution for backing up, viewing and downloading photos. How it works The Photostore API (writte

null 38 Oct 25, 2022
Like Obsidian Publish but for self-hosting. Plugin integrations for dataview, admonition, and more.

Obsidian Export Obsidian Publish is great but lacks support for many of the plugins we Obsidian addicts have grown accustomed to — in particular Datav

null 12 Nov 28, 2022
Self-rendering and distributable mathematics chalkboards

Muboard Muboard is a tiny utility that runs a mathematics display board as a web page. Muboard lets you quickly scribble mathematics snippets using Ma

Susam 539 Dec 15, 2022
Open-source continuous regression testing that you can self-host.

Touca Touca helps you see the side-effects of your changes, as you write code. Touca SDKs let you describe the behavior and performance of your softwa

Touca 135 Dec 30, 2022
DropSpace is an easy way to self-host a file drop.

DropSpace Simple file sharing made in Laravel About DropSpace DropSpace is an easy way to self-host a file drop. Simply upload your file, and share th

Kazó Levente 25 Dec 9, 2022
A minimal & self-hostable alternative to pastebin intended for code

minBin A minimal & self-hostable alternative to pastebin intended for code Use ⌨️ A public instance is available at https://bin.kio.dev/ Building ?? n

Kio 4 Dec 29, 2022
I'm trying to create simple program for adding the digital signature to a pdf file with self-signed certificate. I use node-signpdf and pdf-lib library.

pdf-digital-signature-with-node-signpdf-ejs I'm trying to create simple program for adding the digital signature to a pdf file with self-signed certif

null 5 Dec 25, 2022