Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Cara Sue
    @carasue
    @Shpota ok, u r right
    Cara Sue
    @carasue
    Done add arg to cli for frontend
    Sasha Shpota
    @Shpota
    Thank you! I'll review all PRs tonight.
    Cara Sue
    @carasue
    Do u think supporting Redis by default is good idea. I mean Go + React + MongoDB + Redis
    For me, a Redis is almost necessary in a project. What do u think?
    Cara Sue
    @carasue
    And should we use Trello to collaborate?
    project board is not that good to use
    I do not have the permission to edit it
    Cara Sue
    @carasue
    it also supports Github plugin
    Sasha Shpota
    @Shpota

    Do u think supporting Redis by default is good idea.

    I think supporting Redis might be an option. Though I don't think it should be by default.
    In what way do you think we can apply it in projects generated by Goxygen?
    Redis is often introduced to a web project when there is a need to cache something and all the other approaches do not lead to performance improvements. But this usually happens on later stages of a project and always require careful assessment.

    Jakob
    @Jakob-em
    I think it would add more value to add alternative databases to choose from for example an sql db instead of mongoDB
    Sasha Shpota
    @Shpota
    I agree with you. Also I've got several comments to add support for TypeScript.
    Jakob
    @Jakob-em
    Concerning the react project ?
    Sasha Shpota
    @Shpota
    Yes, at this point there is only React.
    Sasha Shpota
    @Shpota

    I have implemented this part.

    1. Changes in codegen.Generate() and templates structure.
      codegen.Generate() should be able to figure out which framework to use depending on the input parameters.

    Please take a look at the PR: Shpota/goxygen#32

    Jakob
    @Jakob-em
    Done :thumbsup:
    Sasha Shpota
    @Shpota
    Thank you! I'll apply the changes tomorrow.
    Sasha Shpota
    @Shpota
    I am working on the CLI implementation for the --frontend option. These are breaking changes and I'm going to merge them only after I check and test everything precisely. I have not included the regenerated static/generated.go file yet.
    Here is the PR: Shpota/goxygen#40
    It would be great if somebody could take a look at it and say what they think.
    Jakob
    @Jakob-em
    What about creating the generated.go file as part of the CI workflow?
    For example every time a commit is tagged with a version, the generated.go file could be generated and a new github release should be created.
    Sasha Shpota
    @Shpota
    I generally like this idea. The only concern I have is security. I am not sure how it is like with GitHub Actions, but there was time when anybody could simply run echo $ACCOUNT_SECRET in Travis and get write access to an account :)
    But it is certainly something that requires improvement. An alternative solution would be to manage templates in a separate repository and fetch them via network on the client side.
    Sasha Shpota
    @Shpota
    I have just published Goxygen v0.2.0. Thank you for your contributions!
    https://github.com/Shpota/goxygen/releases/tag/v0.2.0
    Douglas Souza
    @douglas-DS
    i've opened right now a pull request for a translation to pt-br of README file
    Lox3ur
    @cgaspart
    Hi all, when i try go get -u github.com/shpota/goxygen i have this message: # github.com/shpota/goxygen/codegen ../go/src/github.com/shpota/goxygen/codegen/codegen.go:26:13: undefined: strings.ReplaceAll
    Anthony Anonde
    @tonymj76
    hello everyone am new here so please be kind lol... am trying to build a web app with revel +vuejs wasn't easy but it worked at last... then i tried with Nuxtjs due to SEO... but i have not been able to do that with Revel... so my question is Goxygen is great but can it work with nuxtjs?
    Jakob
    @Jakob-em
    @cgaspart
    Which version of go are you using?
    Jakob
    @Jakob-em
    ReplaceAll was added with go 1.12 so you need to have at least go 1.12 installed in order to use goxygen
    @Shpota Did you test goxygen with go 1.11 bc in the readme it says that at least go 1.11 is needed but I think 1.12 is the minimal requirement
    Daniel Wolff
    @danielrwolff
    Neat project! First thing that came to mind is typescript support for React. I noticed you mentioned this is a requested feature. Can I tackle this for you?
    Jakob
    @Jakob-em
    Go for it
    Sasha Shpota
    @Shpota
    @cgaspart apparently support of Go 1.11 has been broken unintentionally. Could you please update your Go to yhe latest one? I'll fix it later.
    Sasha Shpota
    @Shpota
    @danielrwolff sure, that would be great. I have not thought yet on the best way of adding typescript. We can discuss it here. The current approach to support different technologies is prefixing file paths with the name of the technology.
    I thought about adding new databases as a next step. But I see that I need to concentrate on automations. I am planning to add the followibg functionality in the nearest time: 1) CI jobs that would build Goxygen on Go 1.11 to 1.14; 2) daily scheduled CI jobs that would generate test projects for each technology (vue, angular, react) and build a Docker images for these projects.
    Jakob
    @Jakob-em
    Cool idea to improve the CI setup of the project. But why would schedule the second job daily and not just after every commit to the master?
    Daniel Wolff
    @danielrwolff
    @Shpota I've already thrown together a "react-ts" webapp that's identical to the "react" webapp (but written in Typescript, obviously). I noticed you removed the service worker files from the react-js template. Is there a reason for this?
    Also, is there any desire to keep the frameworks up to date automatically? The version of react-js is a minor version behind the currently supported version already, and that got me thinking on what your plans were.
    Daniel Wolff
    @danielrwolff
    PR for React+Typescript is up at #51
    Sasha Shpota
    @Shpota
    @danielrwolff thank you. I'll be able to review the PR on Tuesday. From a brief look, I can say that it is better to release TS support for both Vue and React at the same time. That's why I would not change the cli package at this moment, but rather introduce non-breaking changes in the codegen package that would allow the further extension. I was also thinking on reusing the similar files in js and ts projects (like env setup, images, etc) but I haven't tried developing this concept yet.
    Sasha Shpota
    @Shpota
    @Jakob-em the jobs have to run on every push as well. The daily run is needed to ensure that all dependencies are consistent. This would allow us to react fast. For instance, on my memory there were cases when packages were removed from NPM. We also don't provide package-lock.json and go.sum during generation. It is useful as the user would get the latest patches when these files are generated on their machine. At the same time, some patches might introduce breaking changes (they should not, but it is still possible).
    Sasha Shpota
    @Shpota
    One more field is apt call in Dockerfile (which installs gcc). The daily run would ensure that the apt repository is still available and the packages work correctly.
    Jakob
    @Jakob-em
    Good points, I didn't thought about those 👍
    Daniel Wolff
    @danielrwolff
    @Shpota I'll go ahead and undo the CLI changes, then. Unfortunately I don't have much experience with Vue, but I can look into it over the next few days.
    Sasha Shpota
    @Shpota
    @danielrwolff thank you. I can't check the changes now (far from my computer). I'll take a look at them on Tuesday.
    Sasha Shpota
    @Shpota
    Hi guys,
    I have released a new minor version with two bug fixes:
    • A generated project can't be started with docker-compose on some platforms (Shpota/goxygen#48);
    • It is not possible to generate a project using Go 1.11 (Shpota/goxygen#53).
    I also reviewed one PR (added a comment), but I don't have time to review the other one today. I'll check it later.
    As a part of Shpota/goxygen#53, I added a CI job that would build the project on Go 1.11 - 1.14 every time a commit is pushed/PR created. This will hopefully prevent incompatibility issues in future.