Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modernize multimedia app & Object-Oriented Programming lecture [TWP56] [TWP58] #218

Open
reingart opened this issue Mar 19, 2022 · 2 comments

Comments

@reingart
Copy link
Member

reingart commented Mar 19, 2022

The DJ mix a sample app to play music, with a mixer to control the volume: mock-up

The original lesson uses Tkinter GUI for desktop apps, looking outdated and requiring a PC to execute it.
The idea is to revise and rewrite the code for the web (HTML5) and make the lesson interactive in the browser

TIPs:

  • Use Brython to create the HTML UI programatically
  • Implement events handlers with Brython

See previous lessons for examples about Brython and MVC TWP50

Affected pages:

Please add E2E tests with playwright

@reingart reingart changed the title Modernize DJ mix app & Object-Oriented Programming lesson [TWP56] [TWP58] Modernize DJ mix app & Object-Oriented Programming lecture [TWP56] [TWP58] Mar 19, 2022
@reingart reingart changed the title Modernize DJ mix app & Object-Oriented Programming lecture [TWP56] [TWP58] Modernize multimedia app & Object-Oriented Programming lecture [TWP56] [TWP58] Mar 19, 2022
@shivamshan
Copy link
Collaborator

Hi @reingart, I had a quick question. Should the code to handle events be written from a point of view of teaching students a particular topic. In other words, what are we trying to teach the students here?? or is this only a exercise? do we need to to mock any library here to teach its concepts? could you explain a bit more?

@reingart
Copy link
Member Author

The idea is to teach Model-View-Controller patterns to develop a visual application (design a simple UI, connect events, etc.)
The second part is about Object-Oriented Programing (SoundPanel class, to encapsulate and reuse common code)

So far we cannot use Tkinter, GTK, WxPython or QT in the browser (a wrapper could be built but is out of scope of this ticket), so Brython Widgets can help

It would be great to stick with the original program as much as possibly, only changing the UI design

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants