Momentum logo
Team 14 Classroom

🐻 Welcome to Phase 3! 🦊

Posted on Sep 5th, 2022

During this phase, your daily post will be specific to your section, either front-end or back-end. I’ll use emojis to mark front end (🦊) or back end (🐻).

This first post is for everyone. Starting tomorrow there will be two posts each day, one for 🦊 front-end and for 🐻 back-end.

🕘 Schedule and Zoom changes for this phase

Please use this link from now on. It has been updated on Slack so you can still use that bookmark at the top of the team channel.

Team meetings are on Monday, Tuesday, & Thursday

🚨 NOTE! Because of this week’s Labor Day holiday, we’ll make up for Monday by meeting on Wednesday 9/7

Your team meets either during the morning or the afternoon. The rest of the day is lab time, during which you are expected to be online and working. Please let us know if you will be unavailable during work hours.

Please use lab time to read/watch/listen to the required readings/videos/podcasts on your daily classroom post and to work on your lab projects.

You are welcome to use our classroom Zoom link and/or the co-working Zoom during lab times.

  • 9:30-11:30 am ET 🐻 Back End team meeting
  • 2:00-4:00 pm ET 🦊 Front End team meeting
  • 9:30 am -5:30 pm ET Outside of your meeting time is lab time for assigned readings and working on projects

Wednesday is Lab day, all day*

*Usually! This week on 9/7 we’ll have class to make up for Monday’s holiday.

  • 9:30-5:30 No meetings; work on projects
  • 9:30 am Please post a 3-point progress update in the team Slack.
    • What have you gotten done since yesterday?
    • What is your plan to work on today?
    • What, if anything, is getting in the way of your progress?

Friday is Lab Day as usual

  • 9:30-10:30 am ET Huddle (usually; check your calendar)
  • 11:00 am - 12:00 pm Career Services (usually; check your calendar)
  • 1:00-5:30 pm Lab time; work on projects

🗓️ Topics for both Front and Back End

  • Intro to Phase 3!
  • Note-taking as a developer
  • Setting goals for Phase 3
  • Intro to Advanced Back-End or Advanced Front-End

🤨 What does “Advanced” Even Mean?

⚠️ And even for experienced engineers, their experience is limited to certain areas, and completely dependent on having had opportunities to develop that experience.

What you don’t know will always outweigh what you do as long as you work in a field that moves as fast as tech does.

For an insightful take on being comfortable with what you don’t know, read this great blog post by one of the most well-respected and influential JavaScript developers out there right now: Dan Abramov, Things I Don’t Know

✅ TODO for Everyone This Week

  • Reflect on where you are in this program. You’ve learned a lot and you have a lot left to learn. What are YOUR goals?
  • Complete this Goals Reflection exercise to re-energize for what’s ahead and focus on what you want to accomplish and post a tip from your CONTINUE list, or a request for advice for something that you’ve been struggling with to our team Slack channel.
  • Create a schedule that you can stick to for the times you will not be in class (see the time management resources below for some suggestions on managing your time effectively).
  • Learn Markdown -> see the resources section below.
  • Pick a note-taking application that will let you take notes while you read and work. It’s important that it can properly format code blocks. Here are some options (don’t overthink this choice – just pick something that you feel comfortable with).

🔖 Resources for Everyone

Time Management

Tech Pros Have Good Advice for You

Markdown & Taking Notes

Markdown is an easy-to-learn way to add formatting to plain text and code snippets. It is commonly used in READMEs on GitHub and can even used to generate HTML. It comes in handy a lot for developers, and you should know how to use it.

The .md extension indicates a Markdown file. The pages for this blog and every note in your team’s notes repo are formatted in Markdown – have a look on GitHub for examples!

Django Wrap Up 🎬

Posted on Sep 1st, 2022

🗓️ Today’s Topics

  • Preview of Collaboration for Phase 3
  • End-of-phase technical presentations

🎯 Django Duplex Project due Thursday EOD

Intro to Collaboration with GitHub (read before Monday)

🤩 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 or Django Duplex. 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.

  1. 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?
  2. 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?
  3. 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).
  4. 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
  5. 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.

Django Wrap Up 🎬

Posted on Aug 31st, 2022

🗓️ Today’s Topics

  • Preview of Collaboration for Phase 3
  • End-of-phase technical presentations

🎯 Django Duplex Project due Thursday EOD

Intro to Collaboration with GitHub (read before Monday)

🤩 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 or Django Duplex. 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.

  1. 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?
  2. 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?
  3. 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).
  4. 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
  5. 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.

Django CRUD

Posted on Aug 25th, 2022

🎯 Project: Django Duplex

Due Thursday, Sept. 1

Goal for Monday: Replicate what you have in Django music in this new app.

Assignment Link

🔖 Resources

  • Setting Up Django App Video Passcode: R6OM9h%!
  • User and Registration video
    • Caution: don’t do makemigrations and migrate until you have added your User model
    • TL;DR Here’s what to do to implement basic registration and login using Django Registration Redux
      • Make sure you have a base.html template in the root of your templates directory and that it contains {% block content %}{% endblock %}
    • Run pipenv install django-registration-redux and add “registration” to the top of the INSTALLED_APPS list in settings.py
    • Add the urls to your urls.py as desribed here - Django Registration Redux one-step backend
    • These are the urls you now have access to, all beginning with accounts/.
  • Making a Gitignore file
  • Custom User model in Django App
    • Note: decide how you are going to configure the User model at the beginning of the project.

.

🦉 Code & Notes