Giter Site home page Giter Site logo

go-commons's People

Contributors

dependabot[bot] avatar nandagopalan avatar neo7337 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

go-commons's Issues

Move library to golly

go-commons is a very boring name. Let's Rename the library to golly .
Its an acronym that loosely means Go Open Source Library

  1. Update the project name
  2. Update Go Mod name
  3. Update Main Documentation Read Me

VFile Create new DeleteAll Fn

The current VFile interface defines a function Delete() that is supposed to delete file or directory. However this is confusing to use.

  1. Define a new function named DeleteAll in the VFile interface. This function will delete a file or directory with all its contents.
  2. Update the defn of Delete() fn to just delete file and throw error in case of directory
  3. Update the DeleteMatching() fn to check if the vFile object resolved by the filter is a directory ?
  1. If it s a directory call the resolvedFile.DeleteAll()
  2. If its a File call resolvedFile.Delete()

Add nill checks in fnutils

  1. Add a nil function check and return error in case no funciton is provided as a parameter
  2. Refactor where the function is used

CLI App

Create a command line utility to execute command line apps.

Yaml implementaion

Currently the go commons uses an external dependency for yaml support in codec.
I would like to get away with this dependency with an implementation of yaml Reader and Writer within go commons

Create Contribution guidelines

  1. Development how to work, Comms Channel etc.
  2. Project Naming Conventions
  3. Pull Requests
  4. Documentation
  5. Approvers and Maintainers List and how to join
  6. Any general guidelines

Create a HTTP Client interface tailored for REST APIs

Need a new HTTP Client interface that encapsulates all operations for the REST API such as

  1. Authentication
  • Basic
  • Implicit token generation for token based auth
  • Auto renewal of tokens
  1. Codec/Data Transformation
  2. SSL and External certificate/key store usage
  3. Retries
  4. Circuit Breaker implementation
  5. HTTP redirect follows with limits
  6. Reusing and Caching of clients
  7. Error Handling

CheckSum Calculator

Add a utility to calculate checksum for text content as well as for binary/file content

ListAll Implementation

The ListAll() fn implementation should be able to handle the nested folder strucutre scenario.
The current implementation is unable to process nested folder structure

Add Branch Protection Rules

The Branches need to be protected based on types

  • Main Branch

    1. Cannot push Directly
    2. Neds a PR
    3. Needs Approval for PR to merge
  • Feature Branch/Bug Fixes

    1. Need an issue to push and needs to be mentioned in the commit message

Testing Utils

Create a set of utils for testing assertion

This is required for testing files.

New Package Name : testing

VFS Create Description

Add a description to VFS Create functions

VFS Create is generally means creation of file. However different VFS Implementation can have its own constraints.

Document the following on the interface function defn.

  1. Default behaviour
  2. Accepted Behaviour
  3. Caveats if any

This is needs to happen for all the individual VFS Implementation

Client Messaging Support

Requirements

  • add a messaging client parallel to rest
    2 providers to be added

    1. vmp -> virtual message producer
    2. vmc -> virtual message consumer
  • support in-out and out-only

  • design to be created based on VFS pattern

  • create a local implementation based on channels for vmp and vmc

Text encoding util

Create a utility to be able to convert text between different formats.

Check if Endianness support is required.

Utils inline code documentation

Any package/collection of functions that does not have a specific feature in itself should have a details inline documentation of the functions.

Rest Client HTTP/HTTPS env proxy

The rest.Client#UseEnvProxy currently does not specify if the proxy is for HTTP or HTTPs update the function to include the protocol as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.