Understanding The Structure

Hello everyone,
My name is Fareeda Ragab. I'm a 2nd year Engineering student at Alex university.
I'm super excited to contribute in an open source as it will be my first time and MIT App Inventor seems to be a great place to start.
I need to ask some questions:

  1. How could i understand the structure of the app as whole.
    (I'm interested in testing using JUnit.)
  2. How could i communicate with the monitors of the project i chose.
  3. In github issues, what is the label for beginners bugs to start with.
    Thanks for this opportunity.

Hello @Fareeda_Ragab
Welcome to MIT App Inventor Community,

If you would like to contribute to MIT App Inventor open source then you can see this repository GitHub - mit-cml/appinventor-sources: MIT App Inventor Public Open Source

This is made using Google Web Toolkit(GWT) and Blockly Editor provided by Google, The main UI is created from Ode.java and all the classes which help in building of UI are in this directory.
All The best dear!


Thanks @Horizon for replying ..

If you know how to get in touch with monitors for GSoC, the help would be really appreciated ..
The monitors for GWT unit testing are Susan Lane, Li Li, or Evan Patton ..
I need to get in touch with any of them to understand how i will start..

Thanks again ..

Is this what you are after ?

Yes, and i've entered the community through it ..

Which structure are you asking about App Inventor source code? Then you must need to read documentation for it.

You can communicate through this community, share your thoughts on project idea all will give you feedback.


1 Like

@Fareeda_Ragab App Inventor is a quite complex system for new user it may take long time to understand entire system.

The technologies used in App Inventor are...

  1. Java spacifically (1.8)
  2. Android SDK
  3. JUnit, PowerMock, Mockito for unit testing.
  4. JavaScript
  5. Google Blockly for block editor.
  6. Kawa scheme.
  7. GWT for front-end part.

Don't worry about these all technologies you should be familiar with those technologies which are involved in your project.

1 Like

Thanks @preetvadaliya for replying ..

That's really help, as i wanted to contribute in GWT unit testing, I now have a specific place to start with .. (GWT for fronted) ..

Thanks so much ..

Thanks @preetvadaliya, that was the answer i was looking for ..

Where can i find the documentations (GWT fronted), sorry but the project is kinda a big place to start with ... :sweat_smile:

All of the source code for the front end client (mostly) is under appengine/src/com/google/appinventor/client and Ode.java is the main entry point. At the moment we only have a single unit test for some of the GWT code, com.google.appinventor.client.OdeTest, but we're also looking at leveraging technologies like Selenium for automating some of the tasks, so you should definitely familiarize yourself with both testing approaches.

1 Like

Thanks @ewpatton for replying ..

As it's my first time to hear about automatic testing, Selenium, it's time for getting familiar with new technology (learning new technology to use in a real project is an awesome start)..

And as i still have time until summer, i will do my best ..

Thanks again ..