Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Feb 06 18:59
    iamareebjamal commented #2184
  • Feb 06 18:03
    PragatiVerma18 commented #2184
  • Feb 06 17:58
    PragatiVerma18 commented #2184
  • Feb 06 17:56
    PragatiVerma18 commented #2184
  • Feb 06 17:49
    iamareebjamal commented #2184
  • Feb 06 17:47
    PragatiVerma18 commented #2184
  • Feb 06 17:43
    PragatiVerma18 commented #2184
  • Feb 06 17:35
    iamareebjamal commented #2184
  • Feb 06 17:33
    PragatiVerma18 commented #2184
  • Feb 06 15:35
    Dishebh commented #2184
  • Feb 06 15:27
    PragatiVerma18 synchronize #2184
  • Feb 06 15:09
    PragatiVerma18 commented #2184
  • Feb 06 15:07
    Dishebh commented #2184
  • Feb 06 14:56
    PragatiVerma18 synchronize #2184
  • Feb 06 14:48
    iamareebjamal commented #2184
  • Feb 06 14:48
    iamareebjamal commented #2184
  • Feb 06 14:47
    Dishebh commented #2184
  • Feb 06 14:46
    PragatiVerma18 commented #2184
  • Feb 06 14:45
    iamareebjamal commented #2184
  • Feb 06 14:44
    PragatiVerma18 synchronize #2184
Mario Behling
@mariobehling
@iamareebjamal Thanks a lot for this detailed feedback! Looks like Django + ReactJS would be a good choice as community backing and maturity is an important point. If anyone wants to start please make a PR to the v2 branch.
Kush Trivedi
@kushthedude

FASTAPI is faster in throughput than even Node or Go (due to starlette) so take these things into consideration (Python is considered about 20x slow than Node).

But Django and Flask will be staying till later period as you said @iamareebjamal :wink:

Also it would be great if you could help in reviewing PR's related to v.2 @iamareebjamal .

@iamareebjamal Thanks a lot for this detailed feedback! Looks like Django + ReactJS would be a good choice as community backing and maturity is an important point. If anyone wants to start please make a PR to the v2 branch.

@mariobehling We should also make decision which thing to go for first, Making the migration to react or migrating to django. As doing both simultaneously may get ugly.

Areeb Jamal
@iamareebjamal
I think backend would make more sense, or else frontend will have to be rewritten twice. Once for current API and then new API
Mario Behling
@mariobehling
The frontend is not every far developed. There are a number of issues with it and they might get resolved quickly in React.
@kushthedude Please go ahead with setting up a clean project with Django as a backend and React as a frontend in V2 branch, if you have time. Or anyone else can also go ahead.
Sahil Bondre
@godcrampy
@mariobehling Hi, I'd like to help with the React part. Django + React seems like a good decision. I was thinking if we could chunk down the V2 issue into several smaller issues as this transition seems like a huge overhaul.
Suneet Srivastava
@codedsun
@godcrampy Yes, we have created a similar issue here.
fossasia/badgeyay#2168
Prateek Jain
@prateekj117
@iamareebjamal @mariobehling Would like to contribute to the development of the new badgeyay system.
Kush Trivedi
@kushthedude
@iamareebjamal Let's discuss the use-cases in the Badgeyay Meeting.
@mariobehling When will the next meeting be held?
Suneet Srivastava
@codedsun
@mariobehling Yes I also want to be get involved in the next meeting. Thanks
Mario Behling
@mariobehling
Hey, great to see so much interest in moving things forward. The current set of features is a good goal for a next version. We need the "badge-builder" to work in Django. Basic thing for the beginning: A way for people to login and reset an account etc. So, standard features that are available in Django. Right now there is not so much to discuss. Basically, we need developers to chime in and move the initial project forward.
Areeb Jamal
@iamareebjamal

@mariobehling If the goals are that simple, why create a separate frontend (react). We don't have any dynamic component, so a server side rendered site will be better than a client-side rendered site.

Difference can be seen here.

Client Side Rendered - https://open-event-fe.netlify.com/

  1. Loads in 15 seconds
  2. Blank page. Downloads 8 MB of Javascript
  3. Then calls the API and renders the HTML. User has to wait for 15 seconds
  4. The standard authentication flow is broken. User is logged out of every 24 hours and is more difficult to integrate than normal Django Auth Flow

Server Side Rendered - https://www.eventbrite.com/

  1. Loads in 2 seconds
  2. HTML and CSS right off the bat for the user. User can see the site as soon as HTML gets parsed. Javascript is there just to enhance the site
  3. Standard authentication flow in Django. So, no duplication of authentication/authorization in the backend and frontend. All auth lies in the server, so no bugs like a speaker can access admin panel because there was a bug in frontend. Or speaker can override email because there was a bug in backend. All logic remains in 1 place.

It can be said that open-event-server was a complex piece of software (frontend wise), so it made sense to separate its backend and frontend, but eventbrite is as complex if not more and they have done fine better with Django SSR and then JavaScript for enhancement. And badgeyay is even simpler. Django only will give a lot of benefits and an API can be made as a single source of truth for other clients.

All great websites follow the same pattern:

  1. GitHub - Rails mainly and jQuery to enhance
  2. GitLab - Rails + Vue to enhance
  3. Eventbrite - Django + React/jQuery to enhance (Create Event + Dashboards in JS)
  4. Meetup - Node.JS rendered React site

So, is there any specific reason we want to separate backend from frontend?

Not to say, it'd be much simpler workflow
Kush Trivedi
@kushthedude
@iamareebjamal I didnt know eventbrite is server side rendered !

Badgeyay is a small and simple service with the generation of badges and having its statistics. I think server-side rendering should be enough.

Client Side Rendered - https://open-event-fe.netlify.com/

  1. Loads in 15 seconds
  2. Blank page. Downloads 8 MB of Javascript
  3. Then calls the API and renders the HTML. User has to wait for 15 seconds
  4. The standard authentication flow is broken. User is logged out of every 24 hours and is more difficult to integrate than normal Django Auth Flow

Also, the reason for slow loading of our FE is due to the various dependencies we are using for simple tasks like scrolling or linking.

Areeb Jamal
@iamareebjamal
@kushthedude Any site with client side rendering will almost always have high time to interactive than server side rendered app. Because the content will be displayed after page load + JS fetch + execute + API fetch + render in client side vs page load + render in server side rendering
Only good use case for CSR SPA is an webapp (squoosh.app/proxx.app) or admin dashboard/analytics (Google Play Dev/Firebase Dashboard) because they will need client side rendering anyway.
Mario Behling
@mariobehling
@iamareebjamal Yes, agree. How to move ahead?
Areeb Jamal
@iamareebjamal
I'll approve the initial setup of Django and then move to discuss DB model structure
Mario Behling
@mariobehling
:thumbsup:
Ekta Arora
@ektaarora3501
@kushthedude I would like to work on Django backend part. Can you tell me current status and what we have to proceed next ??
Nikhil Vats
@Nikhil-Vats

@kushthedude Can you suggest me a solution for issue #2140?

The deploy to docker button is no longer available, it was there in the beta version of docs only. I can create a custom svg for the button. What do you think? Link to PR - #2157

Tanmay Rauth
@tanmayrauth
@mariobehling @iamareebjamal @kushthedude I would like to contribute to the development of the new badgeyay system. Can you tell me what should i do to proceed next ?
Nihal Pandey
@stark019
I am facing a problem with running frontend on my system can somebody help me through it.
Suneet Srivastava
@codedsun
yes @stark019 Please post your query
Nihal Pandey
@stark019
@codedsun I am unable to proceed further after running ember serve command
Suneet Srivastava
@codedsun
@stark019 Have you followed the readme?
@kushthedude Please give your inputs here
fossasia/badgeyay#2168
Thanks
Nihal Pandey
@stark019
@codedsun Yes I did same as said in the Readme
Kush Trivedi
@kushthedude
@stark019 you need to run
Manish Devgan
@gabru-md
@stark019 it seems that the ember that you've installed isn't the correct ember that is required.
please ensure that you are using the javascript framework ember and not something else
Abhishek Raj Ravi
@arrbxr
@jit
Abishek V Ashok
@abishekvashok
Hey guys since we are rewriting badgeyay from scratch as far as #2168 is concerned, we need to have a discussion regarding the points relating there.
There's a roadway defined there and I hope I can come to use to it. I will be getting started on it :)
daksh0225
@daksh0225
Hello, I am Daksh Rawat. I would like some guidance on how to get started with contributing to badgeyay.
Pragati Verma
@PragatiVerma18
Hi @kushthedude. I am a django web developer and I saw that you are planning to implement the web server part through django. I want to help but I don't understand from where to begin with.
Do you have some blueprint to follow through or something regarding how badgeyay looked and functioned???
Suneet Srivastava
@codedsun
@PragatiVerma18 - yes the current development branch has the code of how the badgeyay worked. We have a v2 branch where all the commits of moving the project to django.
Pragati Verma
@PragatiVerma18
okay thanks, I will try that out.
Rajat Verma
@rajat2502
Hey I am a React Developer and I see that you guys are interested in shifting the frontend to React.js so, do when are you guys planning to start that or if it's already started then in which branch
Mario Behling
@mariobehling
@rajat2502 We want things to happen now. It is a good time to get engaged.
Rajat Verma
@rajat2502
Cool...can you please guide me from where to start to get started with the frontend using Reactjs. In which branch, etc...
Sundaram Dubey
@maze-runnar
@mariobehling @rajat2502 it was a part of the discussion https://github.com/fossasia/badgeyay/pull/2176#issuecomment-558141572
@iamareebjamal has said that we should go with Django templating as the project is not that UI intensive to use a separate frontend.
Sundaram Dubey
@maze-runnar
@mariobehling things should be start in badgeyay project but problem is the end goal of what it should look like, what are the features required, what is the roadmap is not clear . Even @codedsun also start working on that but models are not clear yet .
Mario Behling
@mariobehling
@maze-runnar The end goal is a working service that can generate badges and where people can pay for additional services.