Blog

  • storage



    Attention! This repository is archived and the library has been moved to tinkoff/ng-web-apis monorepository



    ng-web-apis logo Web Storage API for Angular

    Part of Web APIs for Angular

    npm version npm bundle size .github/workflows/ci.yml Coveralls github angular-open-source-starter

    This is a library to use Web Storage API with Angular.

    Install

    If you do not have @ng-web-apis/common:

    npm i @ng-web-apis/common
    

    Now install the package:

    npm i @ng-web-apis/storage
    

    How to use

    Web Storage API consists of storage synthesis and storage recognition.

    1. Use STORAGE_EVENT token to inject an Observable of StorageEvent.
    2. Use filterByKey and toValue utility operators to work with this Observable.
    3. Native StorageEvent only fires when changes are made from another tab. To capture events from the same tab use StorageService to work with localStorage

    See demo for concrete usage example.

    See also

    Other Web APIs for Angular by @ng-web-apis

    Open-source

    Do you also want to open-source something, but hate the collateral work? Check out this Angular Open-source Library Starter we’ve created for our projects. It got you covered on continuous integration, pre-commit checks, linting, versioning + changelog, code coverage and all that jazz.

    Visit original content creator repository https://github.com/ng-web-apis/storage
  • bugTracker

    Visit original content creator repository
    https://github.com/calvin-kim13/bugTracker

  • UCDavis_ECS272_Proj01_Visual-based_Dashboard

    ECS272-Visual-based-Dashboard

    This is the first course project for the course Winter 2018 ECS272 Information Visualization at UC Davis.

    • Winter 2018

    Introduction

    The objective of this project is for the student to have hand-on experiences with D3.js library and basic skills for data visualization. The datasets are provided by the professor and the student are allowed to choose one of the given datasets. For this project, I chose to use the Pokemon dataset. Additionally, I found another dataset available on the Kaggle platform, which is the image datasets of Pokemon data.

    The link to the datasets:

    This project is required to have the followings be completed:

    1. to use at least 3 visualization techniques showing the data
    2. each visualization should have at least 2 levels of granularity

    I decide to make my system as a “game-like” system, which means I tried to make the interface like a gaming interface. This system has three pages, which is seperated using tab and they are able to be switch using the navbar on the top of the page.

    The functionalities of this system are:

    The First Page:

    1. choose one of a Pokemon on the list to view the detail data
    2. click on the radar chart to see how good is the selected Pokemon among others (using bar chart)
    3. click on the bar in the bar chart will list the Pokemons belongs to each group

    The Second Page:

    1. the Pokemons are divded into several groups based on the type (type is defined in the dataset)
    2. a bubble chart is available to see how many groups are and how big is a certain group
    3. click on the bubble will list all the Pokemons in the same type

    The Third Page:

    This page shows the basic statistics result suggested by the Pokemon dataset. Using the scatter chart here enables the user to observe the relationship among different ability of the Pokemon.

    Screenshots

    The First Page

    Page 1

    The Second Page

    Page 2

    The Third Page

    Page 3

    Visit original content creator repository https://github.com/hippoandy/UCDavis_ECS272_Proj01_Visual-based_Dashboard
  • UCDavis_ECS272_Proj01_Visual-based_Dashboard

    ECS272-Visual-based-Dashboard

    This is the first course project for the course Winter 2018 ECS272 Information Visualization at UC Davis.

    • Winter 2018

    Introduction

    The objective of this project is for the student to have hand-on experiences with D3.js library and basic skills for data visualization.
    The datasets are provided by the professor and the student are allowed to choose one of the given datasets.
    For this project, I chose to use the Pokemon dataset. Additionally, I found another dataset available on the Kaggle platform, which is the image datasets of Pokemon data.

    The link to the datasets:

    This project is required to have the followings be completed:

    1. to use at least 3 visualization techniques showing the data
    2. each visualization should have at least 2 levels of granularity

    I decide to make my system as a “game-like” system, which means I tried to make the interface like a gaming interface.
    This system has three pages, which is seperated using tab and they are able to be switch using the navbar on the top of the page.

    The functionalities of this system are:

    The First Page:

    1. choose one of a Pokemon on the list to view the detail data
    2. click on the radar chart to see how good is the selected Pokemon among others (using bar chart)
    3. click on the bar in the bar chart will list the Pokemons belongs to each group

    The Second Page:

    1. the Pokemons are divded into several groups based on the type (type is defined in the dataset)
    2. a bubble chart is available to see how many groups are and how big is a certain group
    3. click on the bubble will list all the Pokemons in the same type

    The Third Page:

    This page shows the basic statistics result suggested by the Pokemon dataset. Using the scatter chart here enables the user to observe the relationship among different ability of the Pokemon.

    Screenshots

    The First Page

    Page 1

    The Second Page

    Page 2

    The Third Page

    Page 3

    Visit original content creator repository
    https://github.com/hippoandy/UCDavis_ECS272_Proj01_Visual-based_Dashboard

  • crypto-explorer

    Crypto Rate Explorer Web App

    Project Overview

    This project is a Crypto Rates Explorer web application that allows users to log in and view a list of cryptocurrency rates. The cryptocurrency list can be sorted by name or price. The app is designed to be responsive, working seamlessly on modern browsers, mobile devices, and tablets. The goal was to create a production-ready application while maintaining simplicity and scalability.

    Demo → https://blon.lt/explorer

    Demo

    Features

    • User Authentication: Login implementation using simple API.
    • Crypto List Display: Fetch and display a list of cryptocurrencies, with sorting functionality by name and price.
    • State management: use nanostores with session local storage to persist users session and sorting actions
    • Responsive Design: Works well on desktops, tablets, and mobile devices.
    • Accessibility (a11y): The app includes accessibility improvements, ensuring better support for screen readers
    • Unit Tests: The app includes unit tests for critical components, ensuring stability and preventing regressions.
    • Production-Ready: The application is structured and coded following best practices for scalability and maintainability.

    Project Structure

    ├── 📂 public                    # Static assets folder, accessible publicly, e.g., favicon, images, etc.
    ├── 📂 src                       # Source directory containing all the application code.
        ├── 📂 assets                # Folder for static assets like images and fonts.
        ├── 📂 components            # Reusable UI components split into Astro and React categories.
        │   └── 📂 react            # React components
        │   ├── 📂 layouts           # Layouts for the application, defining consistent structure across pages.
        ├── 📂 pages                 # Pages of the app, each .astro, .tsx, .md etc. file represents a route.
        ├── 📂 stores                # Global state management using Nano Stores, handling session
        └── 📂 styles                # Custom Tailwind CSS configurations.
    

    Key Files

    📂 components/react:

    • App.tsx: The main React component that initializes the application.
    • CryptoListPage.tsx: Displays the list of cryptocurrencies with sorting functionality.
    • NavbarHandler.tsx: Manages the navigation bar state and interactions.
    • ModalBase.tsx: A reusable modal component used across the app.
    • Loader.tsx & Spinner.tsx: Components for showing loading states.
    • sessionStore.ts: Manages session state using Nano Stores.

    Getting Started

    Prerequisites

    • Node.js (v16+)
    • npm

    Installation

    1. Clone the repository:

      git clone <repository_url>
      cd <repository_folder>
    2. Install dependencies:

      npm install
    3. Start the development server:

      npm run dev

    Building for Production

    To build the project for production, run:

    npm run build

    Previewing the Production Build

    To preview the production build locally:

    npm run preview

    Improvements and Future Enhancements

    While the current implementation meets the project’s requirements, several improvements can be made:

    • Enhanced Error Handling: Implement more robust error handling across the app, especially in network requests.
    • Unit and Integration Tests: Add testing to ensure the reliability and stability of components.
    • Additional Test Coverage: While unit tests have been added, more integration and end-to-end tests can be implemented to further ensure reliability.
    • Advanced Sorting and Filtering: Add multi-criteria sorting and filtering based on additional parameters.
    • Accessibility: Improve accessibility to ensure the app is usable by people with disabilities.

    Dependencies

    Major dependencies:

    Refer to the package.json for a full list of dependencies.

    Author

    Bartosh Polonski https://github.com/barelief

    Visit original content creator repository https://github.com/barelief/crypto-explorer
  • crypto-explorer

    Crypto Rate Explorer Web App

    Project Overview

    This project is a Crypto Rates Explorer web application that allows users to log in and view a list of cryptocurrency rates. The cryptocurrency list can be sorted by name or price. The app is designed to be responsive, working seamlessly on modern browsers, mobile devices, and tablets. The goal was to create a production-ready application while maintaining simplicity and scalability.

    Demo → https://blon.lt/explorer

    Demo

    Features

    • User Authentication: Login implementation using simple API.
    • Crypto List Display: Fetch and display a list of cryptocurrencies, with sorting functionality by name and price.
    • State management: use nanostores with session local storage to persist users session and sorting actions
    • Responsive Design: Works well on desktops, tablets, and mobile devices.
    • Accessibility (a11y): The app includes accessibility improvements, ensuring better support for screen readers
    • Unit Tests: The app includes unit tests for critical components, ensuring stability and preventing regressions.
    • Production-Ready: The application is structured and coded following best practices for scalability and maintainability.

    Project Structure

    ├── 📂 public                    # Static assets folder, accessible publicly, e.g., favicon, images, etc.
    ├── 📂 src                       # Source directory containing all the application code.
        ├── 📂 assets                # Folder for static assets like images and fonts.
        ├── 📂 components            # Reusable UI components split into Astro and React categories.
        │   └── 📂 react            # React components
        │   ├── 📂 layouts           # Layouts for the application, defining consistent structure across pages.
        ├── 📂 pages                 # Pages of the app, each .astro, .tsx, .md etc. file represents a route.
        ├── 📂 stores                # Global state management using Nano Stores, handling session
        └── 📂 styles                # Custom Tailwind CSS configurations.
    

    Key Files

    📂 components/react:

    • App.tsx: The main React component that initializes the application.
    • CryptoListPage.tsx: Displays the list of cryptocurrencies with sorting functionality.
    • NavbarHandler.tsx: Manages the navigation bar state and interactions.
    • ModalBase.tsx: A reusable modal component used across the app.
    • Loader.tsx & Spinner.tsx: Components for showing loading states.
    • sessionStore.ts: Manages session state using Nano Stores.

    Getting Started

    Prerequisites

    • Node.js (v16+)
    • npm

    Installation

    1. Clone the repository:

      git clone <repository_url>
      cd <repository_folder>
    2. Install dependencies:

      npm install
    3. Start the development server:

      npm run dev

    Building for Production

    To build the project for production, run:

    npm run build

    Previewing the Production Build

    To preview the production build locally:

    npm run preview

    Improvements and Future Enhancements

    While the current implementation meets the project’s requirements, several improvements can be made:

    • Enhanced Error Handling: Implement more robust error handling across the app, especially in network requests.
    • Unit and Integration Tests: Add testing to ensure the reliability and stability of components.
    • Additional Test Coverage: While unit tests have been added, more integration and end-to-end tests can be implemented to further ensure reliability.
    • Advanced Sorting and Filtering: Add multi-criteria sorting and filtering based on additional parameters.
    • Accessibility: Improve accessibility to ensure the app is usable by people with disabilities.

    Dependencies

    Major dependencies:

    Refer to the package.json for a full list of dependencies.

    Author

    Bartosh Polonski https://github.com/barelief

    Visit original content creator repository https://github.com/barelief/crypto-explorer
  • cncnet-api

    CnCNet Leaderboard

    Coverage Status PayPal donate MIT License

    This is an open source WOL leaderboard emulator for legacy Westwood Studios games; specifically, those hosted by CnCNet. Ideally though, this application should work with any client sending WOLv1 or WOLv2 Game Resolution packets. This application serves several REST API endpoints (documented below) to consume and post leaderboard data.

    Games Supported

    Usage

    1. npm install --production
    2. npm start

    REST API Endpoints

    There’s a few params listed below.

    • :game can be any of the following ^(td|d2k?|ra2?|ts|dta|fs|yr|am)$
    • :gameId can only be numeric (\d+)
    • :player and :clan can be alpha-numeric with some special characters (\w\d\[\])
    General Endpoints

    • GET /ping to ensure that the server is online
    Leaderboard Endpoints

    • POST /ladder/:game accepts gameres packet (via POST body) for the supplied :game
    • GET /ladder/:game will return the top 150 leaderboard players for the supplied :game
    • GET /ladder/:game/game/:gameId will return all data for a given :gameId
    • GET /ladder/:game/player/:player will return most data for given :player
    Clan Endpoints

    URL /ladder/:game/clan/:clan is used for the following methods. Most of these endpoints require authorization similar to Player Authentication.

    • GET will return most data for the given :clan (does not require auth)
    • PUT create the given :clan
    • POST will join, part or modify (supplied to action query) the given :clan
    • DELETE permanently delete the given :clan
    Player Authentication

    • GET /auth/:player HTTP authentication using Account credentials

    Successful authentication of this endpoint will return an JSON Web Token which can be used to call subsequent endpoints which require auth. This endpoint uses basic HTTP authentication.

    example player auth request

    curl -isu Tahj:MyPassword http://localhost:4007/auth/tahj3z
    Account Creation

    • PUT /auth/:player using HTTP authentication

    Accounts can be created using this endpoint. After an account has been created, users can then proceed to login using the Player Authentication endpoint above. Future iterations will allow consumers to additionally update Account information using this endpoint.

    Contributing

    The below subjects outline how to extend the functionality of this project. Any help is warmly accepted and greatly appreciated! 🙂

    Debugging

    Windows

    set DEBUG=wol:leaderboard,-not-this
    grunt serve

    Mac

    DEBUG=wol:leaderboard grunt serve

    MongoDB

    Leaderboard stats are stored via MongoDB. You’ll need this installed for local development. You can start Mongo using the following command.

    mongod --dbpath data/db

    Visit original content creator repository
    https://github.com/sean3z/cncnet-api

  • Social-Auth

    Build Status Total Downloads Latest Stable Version License

    About Laravel

    Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:

    Laravel is accessible, powerful, and provides tools required for large, robust applications.

    Learning Laravel

    Laravel has the most extensive and thorough documentation and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.

    If you don’t feel like reading, Laracasts can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.

    Laravel Sponsors

    We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel Patreon page.

    Premium Partners

    Contributing

    Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the Laravel documentation.

    Code of Conduct

    In order to ensure that the Laravel community is welcoming to all, please review and abide by the Code of Conduct.

    Security Vulnerabilities

    If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via taylor@laravel.com. All security vulnerabilities will be promptly addressed.

    License

    The Laravel framework is open-sourced software licensed under the MIT license.

    Visit original content creator repository https://github.com/abdulqadeer1999/Social-Auth
  • webpack-demos

    Visit original content creator repository
    https://github.com/secti6n/webpack-demos

  • openwhisk-utilities

    License Continuous Integration Scan Code

    OpenWhisk Utilities

    Shared utilities used across Apache OpenWhisk project repositories.

    Utility listing

    The following utilities are included in this repository (by subdirectory):

    • scancode – Configurable code scanning utility that performs file and line-level checks on all files (exclusions permitted) on a provided path. It is intended for Git commit hooks and continuous integration (CI) builds to enforce certain coding conventions.

    If you “push” code that follows all conventions, you will see the message:

    Scanning files starting at [./mycodepath/]...
    All checks passed.

    However, if you push code containing tabs, trailing whitespace or missing Apache License headers, your build will fail immediately with one of the following messages:

    Scan detected 3 error(s) in 1 file(s):
      [./mycodepath/sourcecode.go]:
           1: file does not include required license header.
          18: line contains tabs.
          27: line has trailing whitespaces.

    To make sure this never happens to you, you can run the same tests on your local machine every time you commit changes.

    1. Clone the OpenWhisk utilities project:
    $ git clone https://github.com/apache/openwhisk-utilities.git
    1. Run the scancode utility against the root directory of your project or subdirectory where your code changes live:
    $ python3 ./openwhisk-utilities/scancode/scanCode.py $ROOTDIR

    It is worth adding a Git pre-commit hook to automatically run the checks before you can even type in a Git commit message. Here is a sample pre-commit file:

    $ cat /path/to/openwhisk/.git/hooks/pre-commit
    #!/usr/bin/env bash
    
    # -- Code scanning --
    # See https://github.com/apache/openwhisk-utilities
    # determine openwhisk base directory
    root="$(git rev-parse --show-toplevel)"
    scancode_path="/path/to/openwhisk-utilities/scancode"
    python3 $scancode_path/scanCode.py --config $scancode_path/ASF-Release.cfg --gitignore $root/.gitignore $root

    Note: A hook a locally installed, so if you check out the repository again, you will need to reinstall it.

    Apache OpenWhisk repositories can be configured to run scancode as part of their CI process by invoking it as a GitHub action. It should be run immediately after the checkout action. For example:

          # Checkout just this repo and run scanCode before we do anything else
          - name: Checkout runtime repo
            uses: actions/checkout@v3
          - name: Scan Code
            uses: apache/openwhisk-utilities/scancode@master

    Issues

    Report bugs, ask questions and request features here on GitHub.

    You can also join our Slack channel and chat with developers. To get access to our Slack channel, request an invite here.

    Visit original content creator repository https://github.com/apache/openwhisk-utilities