Giter Site home page Giter Site logo

gingen's People

Contributors

rezarahemtola avatar tdeboynes avatar vidsskids avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

gingen's Issues

[Feature]: OpenAPI skills development

Description

Discover the power of the OpenAPI specification ๐Ÿ”ฅ

Expected behaviour

Environment

/

Proposed solution

No response

[Feature]: Setup tests for your comment parser

Description

Make sure your parser works as intended by creating tests ๐Ÿงช

Expected behaviour

You have to:

  • Create sample test files to parse
  • Create corresponding sample outputs
  • Add test files using those samples
  • Setup a CI to run the tests on each commit

You can take a look at previous Go projects made at PoC for this, like DagViz for example ๐Ÿ˜‰

Environment

/

Proposed solution

No response

[Bug]: Functional JSON test is not valid

Description

The JSON used in the functional tests is incomplete ๐Ÿ™

What happened?

When copy-pasting it in https://editor.swagger.io/ (and converting it to YAML), several errors appear

Expected behaviour

The JSON file should be a valid and complete specification that can be used like any other specification.

Environment

/

Steps to reproduce

You can use the Swagger Editor to make sure your specification is correctly formatted and contains everything ๐Ÿ”ฅ

Relevant log output

No response

Proposed solution

No response

[Feature]: JSON output enhancements

Description

Make sure the JSON output you generate is valid ๐Ÿ”ฅ

Expected behaviour

You have to:

  • Refactor the logic to be able to generate a great output matching an OpenAPI specification
  • Use https://editor.swagger.io/ to test your output
  • Create a sample Go test file with its corresponding JSON output and add it in the CI

Environment

/

Proposed solution

No response

[Feature]: Create a Go comment parser

Description

Parse a Go file to detect the comments that interests you ๐Ÿ‘€

Expected behaviour

You have to:

  • Detect comments written in the particular syntax you defined โš™๏ธ
  • Handle begin/start comment to retrieve the code in between
  • Keep your program as generic as possible to facilitate further modifications ๐Ÿ˜„
  • Have a look again at previous issues links like go/parser in #6

Environment

/

Proposed solution

No response

[Feature]: Improve the parsing

Description

Improve the parsing performance and generate the right JSON format ๐Ÿš€

Expected behaviour

You have to:

  • Modify the parsing code to uniformize it and parse the Go file only once
  • Test your JSON output and think of the format to have a valid OpenAPI specification

Then, you can dig into folder parsing to prepare the next feature โœจ

Environment

/

Proposed solution

No response

[Feature]: Setup the base of the project with JSON in Go

Description

Learn how to interact with JSON in Go ๐Ÿ”ฅ

Expected behaviour

Create a simple Go program with those characteristics:

  • Take an output filepath as parameter
  • Create a JSON file with this path and write sample data inside it
    • Strings
    • Arrays
    • Objects
    • Nested data

Environment

/

Proposed solution

No response

[Feature]: Generate a basic OpenAPI specification from parsed comments

Description

Create your first specification from GinGen ๐Ÿ”ฅ

Expected behaviour

Use the comments you parsed using #7 to create a JSON file with basic informations:

  • General
    • Title
    • Version
  • Endpoints
    • Path
    • Method
    • Summary
    • Response with code and description

โš ๏ธ Use the Swagger Editor to make sure the generated specification is valid

Feel free to go further if you want ๐Ÿš€

Environment

/

Proposed solution

No response

[Feature]: Create a demonstration worflow

Description

Show a concrete use case of your tool ๐Ÿš€

Expected behaviour

Here's what you have to do:

  • Remove the requestBody for GET
  • Add a responseBody to the endpoints where it's missing
  • Use a realistic code in the functional tests (like one from the Gin examples)
  • Check that the generated specification is valid and use it with OpenAPI Generator to create a server stub in Rust for example

Environment

/

Proposed solution

No response

[Feature]: Brainstorm on the parsing method you'll use

Description

Explore and create the base of the parsing part ๐Ÿš€

Expected behaviour

๐Ÿ’ก go-swagger provides a lot of features for OpenAPI specifications v2

  • Take a look at go/parser, a package that could be useful ๐Ÿ‘€

  • Create a small presentation / draw some schema about the methods you have considered to parse a Gin API file for OpenAPI spec generation, which one you have chosen and why

Only a single file for now, we'll parse an entire app / folder later

Environment

/

Proposed solution

No response

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.