Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 13 02:51
    JahooYoung starred GenieFramework/Genie.jl
  • Jan 12 19:53
    essenciary commented #332
  • Jan 12 19:47
    WileyRoemer assigned #332
  • Jan 12 19:47
    WileyRoemer opened #332
  • Jan 11 18:43
    F8-Analytics starred GenieFramework/Genie.jl
  • Jan 11 10:30
    MrBlenny closed #330
  • Jan 11 10:30
    MrBlenny commented #330
  • Jan 11 09:01
    essenciary commented #330
  • Jan 11 09:01

    essenciary on master

    Removed serverinteractive from … Merge branch 'master' of https:… (compare)

  • Jan 11 08:59
    essenciary assigned #331
  • Jan 11 08:59
    essenciary opened #331
  • Jan 11 08:55
    essenciary reopened #296
  • Jan 11 08:55
    essenciary commented #296
  • Jan 11 08:42
    essenciary synchronize #326
  • Jan 11 08:39

    essenciary on master

    Fix newline bug in unix bin/ sc… (compare)

  • Jan 11 08:39
    essenciary closed #327
  • Jan 11 08:39
    essenciary commented #327
  • Jan 11 08:38

    essenciary on master

    fix Genie.serve documentation t… (compare)

  • Jan 11 08:38
    essenciary closed #328
  • Jan 11 08:38
    essenciary commented #328
AquaIndigo
@AquaIndigo
After login two apis were used:
route("/ticket/all", TicketsController.allTickets)
route("/ticket/parentTypes", TicketTypesController.getParentTypes)
And totally there are three session files were generated.
AquaIndigo
@AquaIndigo
And I think maybe the server didn't send the session to the browser or the browser didn't save that.
Adrian Salceanu
@essenciary
can you by any chance share the code?
AquaIndigo
@AquaIndigo
I've just uploaded the repo: Repo. I'm sorry that there is not an English documentation and I didn't upload the front-end source code since it is so large.
Adrian Salceanu
@essenciary
@AquaIndigo thanks - seems to be different browser behaviour. I've been using Firefox and works fine but seems to fail in Chrome and Edge
I'll dig into it, must be related to cookie settings
David Revay
@MrBlenny

@Quafadas I'm having exactly the same issue.

docker logs julia -f                         
[ Info: Precompiling DockerTest [c8399323-f68f-460c-82cc-f57bafebd7c8]

 _____         _
|   __|___ ___|_|___
|  |  | -_|   | | -_|
|_____|___|_|_|_|___|

| Web: https://genieframework.com
| GitHub: https://github.com/genieframework/Genie.jl
| Docs: https://genieframework.github.io/Genie.jl/dev
| Gitter: https://gitter.im/essenciary/Genie.jl
| Twitter: https://twitter.com/GenieMVC

Genie v1.10.0
Active env: DEV


Ready!

Then no mention of the server port etc.

In my case I have it running through a docker-compose:

version: "3.8"
services:
  julia:
    container_name: genie
    build:
      context: ./genie
      dockerfile: Dockerfile
    ports:
      - "8015:8015"
    volumes:
      - ./genie:/home/genie/app
    environment:
      PORT: 8015

Did you manage to find a solution?

Quafadas
@Quafadas
@MrBlenny No, sadly, I did not, I couldn't get a handle on where to disconnect was... I am likewise a causal docker user.
Adrian Salceanu
@essenciary
@AquaIndigo I pushed a new version now, should address the session issue
it had to do with sessions being set as Secure but localhost not running over HTTPS - Firefox handled it but webkit browsers didn't
@Quafadas @MrBlenny the last push v1.11 also fixes the duplicated port for dockerfile - I’ll also run a test
what OS are you on? win?
are you using windows containers or linux (wsl2)?
Quafadas
@Quafadas
On windows, but using wsl2
I tried experimentally pushing the "switch to windows containers" button... which generated a whole host of other problems. I hurriedly set it back.

@Quafadas @MrBlenny the last push v1.11 also fixes the duplicated port for dockerfile - I’ll also run a test

Thankyou!

Adrian Salceanu
@essenciary
@Quafadas I think wsl2 is the way to go - i developed the docker integration on macos so the nix containers should work
Adrian Salceanu
@essenciary
I opened a new issue at GenieFramework/Genie.jl#331
Bryce Tichit
@Akaban

Hey guys,

I'm also thinking about using Genie.jl to write web apps, I'm going to read the docs but I have some questions still,

1) I'm a Software Engineer but I don't have a lot of experience with web dev. I know the basics of Django but that's it. I'm planning to build and monetize web apps for my own sake. So I need to choose a tech stack.
2) I don't even know how I will incorporate the front yet but I don't think I will be going with SPA right now (separating front end from back end) so my question is: is Genie fine for building web apps fully (ie. with templates). Btw I don't know anything about front end development.
3) Can we easily integrate Vue.JS or React.JS with Genie ?
4) If you know Python do you think it's worth it to go with Julia right now? I really love Julia and I prefer it to Python but I don't know I'd feel more safe with Django maybe. I'm an experienced Software Engineer so I don't have any issues learning any technology if it's worth it. Julia feels superior to Python but maybe Genie is less advanced than Django right now? If you have an opinion I'd love to hear it.

Cheers guys

And thanks in advance for answering my questions, would be greatly appreciated. Also happy new year
AquaIndigo
@AquaIndigo
@Akaban I have just integrated React.JS with Genie.jl via Nginx in my course project.
M. Schulze
@mkschulze

@Akaban

1) you might want to register for https://stipple.app, this will give you a great tool at hand for fast development.
2) stipple is a Vue frontend for genie using the quasar zu library and other chart libraries.
3) see 2) Vue is already integrated
4) Julia has many benefits over Python (or any OOP Lang) like strong typing, multiple dispatch, also simple syntax. The eco system obviously is not as big, given Python is like 28 years old? But you might want to recognise that Julia had jumped up from place 47 to 23 in Tiode ranking in the last 12 months: https://www.tiobe.com/tiobe-index/

So it’s getting more and more adaption and the ecosystem will likely grow. For example I work with some good people on a client interface for the grakn.ai knowledge Graph database. https://github.com/Humans-of-Julia/GraknClient.jl

This can be a competitive and powerful backend then, also to be used within stipple.

So Python is not likely to vanish soon, but Julia is on a good way to become an alternative that makes development experience easier, faster and likely more fun.

Just my 2 cents, sharing how I look at it.

Bryce Tichit
@Akaban

Hey,

stipple seems interesting but I'm definitely making my own front-end code, I need to pay the entry cost. This is something important !

Thanks for sharing your opinion, to be honest I really feel like Julia is more powerful than Python. In a sense that you can write less code and get more done.

I really want to get started with Julia but maybe I need to forget it for now and stick with Python. I tought about it last night and I think that most programs I will write at first will be glue-programs, with most of the complexity in the front-end, so I may not need the power of Julia right now.

So yeah that's what I'll do, and in 1 year I will think about it again and at that time I'll definitely be a contributor to all of these Julia initiatives !

So thanks everyone for all the job you are doing right now on Genie, it seems promising. I will keep an eye on the project and come back later :)

@AquaIndigo If you can share some code I'm definitely interested !

Frank Urbach
@FrankUrbach
@Akaban
If you don't want go with Stipple your choice could be plain Genie. There you can integrate all you want because you can write plain html if you want. The stuff you get for free is the possibility to use Julia code where ever you want. And no one refuses against speed that comes free of charge. But if you have a project with tons of code written in Python I can understand your choice. But with pycall (Integration of python in Julia) it could be an interesting option for you.
Just my 2 cents.
AquaIndigo
@AquaIndigo
Here it is Repo. @Akaban
Dale-Black
@Dale-Black
How long after registering for the stipple beta should you expect to gain access?
M. Schulze
@mkschulze
@Dale-Black, if I remember right @essenciary said something about, end of the month/early-mid of next month.
Dale-Black
@Dale-Black
Thanks!
M. Schulze
@mkschulze
@Dale-Black great attempt, I have some webknowledge, but have basically just been redesigning wordpress/joomla templates. Or did static pages with bootstrap like this one: http://oood.net
M. Schulze
@mkschulze
Now I want to really learn more about the things in the backend and Julia seems a great choice, but I’m also a beginner in that. If you are completely new then I would suggest to start learning html5 and css3, along with things like bootstrap framework and/or css grid. This tool can be a good start to create your initial layout: https://www.w3schools.com/css/css3_variables.asp
if you got that kinda sorted then you can come back to Julia/Stipple. But thats an important first step to at least get a basic understanding of whats happening in the browser and what you can do in the browsers web development tools etc. Have fun!
Bryce Tichit
@Akaban

@FrankUrbach Of course, it seems like Genie does the job already. But I don't think that speed is important when you have less then 10 users on your back-end.

@AquaIndigo Thanks, very interesting. From what I've seen all of your API route implemented in the according controllers are doing pretty basic stuff, getting instances of a Model, deleting a model, adding a model, is automatically handled by django-rest-framework for example. Maybe we should think about a genie-rest-framework?

Even 100 or 1000 users you should not be able to see the differences, depending on what your program do. If each users needs to run highly expensive computing routines then yes Julia could be of some helps, but not with simple CRUD + small routines
That's my opinion at least
Bryce Tichit
@Akaban
I don't have any Python code btw, starting from scratch :)
Bryce Tichit
@Akaban

Btw AquaIndigo you use something like this here

Dict("code" => 0, "data" => vcat([Dict("type_name" => "全部")], [Dict("type_name" => tp.typeName) for tp in parentTypes] )) |> json

Which would be replaced by,

Dict("code" => 0, "data" => merge(Dict("type_name" => "xx"), Dict("type_name" => tp.typeName for tp in parentTypes))) |> json

For me it seems better, I don't know if you need it enclosed in an array but you could add the array at the end.
I'd really like to see the equivalent of this Python code in Julia though {"a": 1, **{"b": 2, "c": 3}}
Brian Brietzke
@bbrietzke
quick question: I'm new to Genie and learning the framework; one of the things that i would like to be able to do is modularize things a bit using plugins, but when i run the scaffolding, i get the following:
julia> using Genie

julia> Genie.Plugins.scaffold("GenieHelloPlugin")
[ Info: Generating project file
 Generating  project GenieHelloPlugin:
    GenieHelloPlugin/Project.toml
    GenieHelloPlugin/src/GenieHelloPlugin.jl
[ Info: Scaffolding file structure
ERROR: SystemError: unable to read directory .julia/packages/Genie/1Ew9d/files/new_app/app: No such file or directory
Stacktrace:
 [1] walkdir(::String; topdown::Bool, follow_symlinks::Bool, onerror::typeof(throw)) at ./file.jl:0
 [2] walkdir at ./file.jl:872 [inlined]
 [3] recursive_copy(::String, ::String; only_hidden::Bool, force::Bool) at $HOME/.julia/packages/Genie/1Ew9d/src/Plugins.jl:28
 [4] scaffold(::String, ::String; force::Bool) at $HOME/.julia/packages/Genie/1Ew9d/src/Plugins.jl:101
 [5] scaffold at $HOME/.julia/packages/Genie/1Ew9d/src/Plugins.jl:88 [inlined] (repeats 2 times)
 [6] top-level scope at REPL[2]:1
caused by [exception 1]
SystemError: unable to read directory .julia/packages/Genie/1Ew9d/files/new_app/app: No such file or directory
Stacktrace:
 [1] readdir(::String; join::Bool, sort::Bool) at ./file.jl:810
 [2] readdir at ./file.jl:805 [inlined]
 [3] walkdir(::String; topdown::Bool, follow_symlinks::Bool, onerror::typeof(throw)) at ./file.jl:874
 [4] walkdir at ./file.jl:872 [inlined]
 [5] recursive_copy(::String, ::String; only_hidden::Bool, force::Bool) at $HOME/.julia/packages/Genie/1Ew9d/src/Plugins.jl:28
 [6] scaffold(::String, ::String; force::Bool) at $HOME/.julia/packages/Genie/1Ew9d/src/Plugins.jl:101
 [7] scaffold at $HOME/.julia/packages/Genie/1Ew9d/src/Plugins.jl:88 [inlined] (repeats 2 times)
 [8] top-level scope at REPL[2]:1
am i missing something? a step maybe?
Brian Brietzke
@bbrietzke
Also, does Genie support oAuth?
M. Schulze
@mkschulze
@bbrietzke , not sure but you may need to write „instantiate“ after using genie
Check the docs again
Brian Brietzke
@bbrietzke
i found the issue @mkschulze, turns out you have to be inside an app to have have the command work. not sure why, but it did create everything successfully when i did that
M. Schulze
@mkschulze
Good to hear it has worked for you
@bbrietzke no oAuth support available yet I think
Would be great to have a passwordless option, with a token or magic link or any oAuth provider. Like flaskdance for example
Frank Urbach
@FrankUrbach
Guys, Genie is very young. If you want something like that, go for it and come up with this possibility. :-)