Note: This assignment is still being edited.
Purpose:
The purpose of this assignment is to exercise your understanding of the framework you will be using to build your project.
Deliverables:
Q&A with your TA in your Week 8 lab.
Individuals in groups NOT using GWT will also need to do a tiny demo of their sample application to show that they're ready to start Sprint 1 (Assignment 6).
No peer evals needed for this week.
Your task:
Investigate your framework such that you can answer Q&A session questions like:
How would you add a new URL/route?
How would you add a new UI widget?
How would you add a new login system?
Where’s the logic to handle each of the different routes/URLs?
How do you bring in data?
Where’s the data stored?
How is data stored?
How do you query data?
How do you define the schema for data?
How do you render a page?
What is an API? How is your app going to communicate with the APIs relevant to your project?
Some questions will be specific to those groups using GWT:
What does the class hierarchy look like for your framework?
How do Remote Procedure Calls work?
Some questions will be specific to those groups using Rails/Django/similar frameworks:
What is a Model-View-Controller design?
What do requests look like? How do you make the equivalent of a "call" to the server from the client?
How does the server return data back to the client?
What is REST? How is this going to affect how your structure the routes in your app?
What are database migrations?
What are the HTTP methods? When would you use them?
What is an ORM?
For those using the MEAN (Mongo-Express-Angular-Node) stack:
What is the difference between Mongo vs regular SQL databases?
What are some of the advantages to using Node over other frameworks?
What is Angular? How is it different from using EJS to render your views?
How to prepare for the Q&A:
As a group, work out the answers to the questions listed above (that apply to you). Then, individually, write the answers down again. This will help anchor them in your mind. Also, you could try working with your sample app to better understand the dynamics of the answers to these questions.
What happens if I can't answer these questions by Week 8?!
If, in Week 8, you're mystified by these questions, your TA will suggest you spend the lab working out the answers using all the powers of the internet, and by having your teammates explain concepts to you if they understand them. By the end of the lab, hopefully, you'll be up to speed. If your TA is still concerned that you're not able to adequately explain your web framework, they will ask that you hand in a written explanation within 24 hours of the lab. This submission must be your own individual work.