Media Programming: Web Technology

Website of Prof. Dr. Barne Kleinen, Professor for Media Informatics (Bachelor/Master) at HTW Berlin

     next>

https://github.com/htw-imi-m1-ss2017/ruby-learning

Working on your project

  1. Write down your project vision.
  2. Write down your product backlog. Roughly prioritize it for business value. Don’t hesitate to write down as many stories as you want, you don’t have to implement them all.
  3. Pick a user story that you can implement with simple CRUD operations.
  4. Draw a scribble for the screens involved.
  5. Draw a first sketch of the data model that is suffient for this story.
  6. Create a new rails application.
  7. Generate your first model/view/controller using rails generate scaffold
  8. Have a look at the generated html templates (find dem in app/views). Change and document one thing that makes sense within your application.
  9. Next, pick a user story that requires to add a little bit of functionality to your app.
  10. Implement it by at least creating a new controller action and route by hand.

Reading and preparation

Starting next week, You will work on your project within the lab. I will publish the next assignment by monday, enabling you to start working on it and have your questions ready in the lab. For preparation, please read through

Note that you don’t need to implement everything that’s described there, but it will help you understand what you need to do for this exercise as well as for the next.

3. Pick a user story that you can implement with simple CRUD operations.

  • New habits can be entered including name, frequency and a description.

5. Draw a first sketch of the data model that is suffient for this story.

See lecture

6. Create a new rails application., 7. Generate your first model/view/controller using rails generate scaffold

see the README in https://github.com/media-programming-rails/example-app - have a look at the commits!

8. Have a look at the generated html templates (find them in app/views). Change and document one thing that makes sense within your application.

By default, a last done date is set by the tempate. Simply removed it from the template.

9. Next, pick a user story that requires to add a little bit of functionality to your app.

Story:

  • A user kann log an habit as completed on that day by simply clicking on a button in the habit list.

10. Implement it by at least creating a new controller action and route by hand.

See according commit.