Posted on Jul 11th, 2022
⚠️ You only need to read this post if you are on the back end team 🐻
🗓️ Today’s Topics
🎯 Project: Habit Tracker
You’ll be working on Habit Tracker this week.
It’s important to read the project requirements thoroughly and to start to think about how you would do this project.
First steps: generate the project skeleton; make sure you are using Postgres; deploy to Heroku; and design your models. Make sure to create a diagram showing model fields and relationships. Talk through with each other how you are thinking about this.
By tomorrow:
- Your application should be deployed to Heroku.
- Your models should be functional.
- You should be able to create habits and associated daily records in the Django shell (I recommend using
shell_plus
which is available when you have django-extensions
installed).
📖 Read | 📺 Watch | 🎧 Listen
These are this week’s required readings, videos, and/or podcasts. Read, watch, or listen, and take notes.
Deployment
Databases & Data Modeling
Debugging
🔖 Resources
Authentication, Registration, and the User Model in Django
👾 Code & Notes
Posted on Jul 6th, 2022
🗓️ Today’s Topics
- Preview of Collaboration for Phase 3
- End-of-phase technical presentations
- Videos of Django Music review
🎯 Django Music Project due Thursday @ 2:00 pm
Thursday afternoon we will not have class. You should use that time to finish work on your presentation.
Intro to Collaboration with GitHub
🤩 End-of-Phase Presentation videos due Friday @ 5:00pm
Each person has 4-5 min to talk about one of the following topics using examples from your own code. Please record this presentation as
you did in Phase 1 and submit using this form when done.
Topics: Pick one
For all topics, the code should be from Django Music. If you have a different project that you want to present, or want to present on a topic not listed, please talk to me to get approval.
- Pick any url, view, and template that you worked on. Walk through what happens in the code when that url is typed into the browser’s address bar (or a link with that url is clicked). You should talk about:
- the url in urls.py
- the view
- any models that are involved
- any decisions you made about how to do this or how not to do it.
- Would you do it differently next time?
- Tell us about a form to create objects in your application (e.g., a form to create a new Album). How does this work? You should tell us about:
- the form class in forms.py
- the url
- the view
- the template
- Anything challenging that you had to figure out about this?
- Explain (at least one of) your models, talking through any attributes and relationships to other models. Why did you build it this way? You could show us your database using DB Browser for SQLite, an ER Diagram that show relationships with other models, or creating or querying for model objects in the Django shell (or
shell_plus
).
- Show a template that you worked on and explain how the code in the template works. You should tell us about:
- the view that renders it and its view context
- any conditional rendering in the template
- content blocks
- any other template tags you used and what they are doing
- how this template is rendered in browser
- Anything you implemented that you’re jazzed about? Please tell us about it. You could touch on:
- describe the feature from the user perspective. What does it do and why is it needed?
- how does it work in the code?
- did you use any libraries or packages?
- was there anything tricky about this? what did you learn to be able to do this?
Evaluation & starting the next phase
As with the end-of-phase of Phase 1, presentations are meant to assess what you’ve learned during the phase and to determine whether you are prepared to begin the next phase.
Your instructors will assess the work you’ve done and determine whether you will go on to the next phase.
The criteria for passing a phase are:
- Your project is complete (it meets most, if not all, criteria in the original assignment).
- You can explain how your code works. Instructors may ask you about any portion of it and you can give a reasonable explanation.
You might be asked to repeat the phase if:
- You are unfamiliar with how your code works.
- You have nothing to present.
If we have concerns about you starting the next phase, you will hear from us on Thursday afternoon, and I’ll ask you to meet with us on Friday morning. If you have any concerns about passing the phase you are welcome to reach out to me or Jessica before then.
Posted on Jul 1st, 2022
For this weekend project, keep working with your code buddies from this week. You are welcome to combine groups and join forces if you want to!
🎯 Project: Django Music
Build a CRUD application from scratch. This app should let you catalog your music collection.
- Create
- Read
- Update
- Delete
This is due on Tuesday.
Django Music
🔖 Resources
🌶🌶🌶 Useful for the spicy options:
🦉 Code & Notes
Posted on Jun 27th, 2022
🗓️ Today’s Topics
Today we develop our mental model of Django, understanding what it does and how it does it.
- Django urls & views
- Django templates
- Django models and the database
- Dealing with errors
🎯 Project: Uptact
When you start your first dev job, you will see a lot of code all at once and will have to be able to read it and understand what it does so that you can modify and add to it.
In this project you will do just that: modify existing code to augment its functionality. This is due Wednesday morning.
Each person should accept the assignment invitation and work in their own repo, but please work on this assignment with your assigned buddies. Buddy groups are welcome to combine and unite forces. The point is: nobody should struggle alone.
For each part of the assignment, talk over with your buddies how you each think you can accomplish the tasks. Be willing to try things your buddy suggests even if you aren’t sure it’s right! You will learn a lot by seeing what happens (and what doesn’t) when you make changes.
Talking it through will help clarify your understanding of how Django works, and having a buddy around will be helpful when you inevitably run into errors.
You will join your code buddies in breakout rooms this morning.
👉 Django Uptact
🔖 Resources
Databases
🦉 Code & Notes