---
# System prepended metadata

title: Week 18 Roadmap (Short week)

---

<style>
    .present {
        text-align: left;
    }
    img[alt=knight_moves] {
        width: 400px;
        
    }
</style>


# Week 18 Roadmap (Short week)
## Short Week Edition!


---

### It's a short week!

This week is a 3-day week (woo!).

We will cover most material this week and finish up next Monday.

---

### Technologies
This week:
- Today: pipenv, unittest, pytest
- Tuesday: Flask, Jinja, psycopg2, WTForms & Flask-WTF
- Wednesday: SQlAlchemy & Flask-SQLAlchemy
    - Practice assessment will be released

Next week:
- Monday: Alembic & Flask-Migrate, practice assessment walkthrough
- Tuesday: Week 18 Assessment


---

### Flask (Tuesday)
- Another long lecture day!
- [Flask](https://flask.palletsprojects.com/)
    - Web server (like Express, but for Python)
- [Jinja](https://jinja.palletsprojects.com/en/2.11.x/)
    - Templating language (like Pug)
- [Psycopg2](https://www.psycopg.org/docs/index.html#)
    - Database adapter for Python, allows Flask to communicate with Postgres database
- [WTForms](https://wtforms.readthedocs.io) & [Flask-WTF](https://flask-wtf.readthedocs.io)
    - WTForms is a form validation library
    - Flask-WTF integrates WTForms with Flask

---

### SQLAlchemy & Flask-SQLAlchemy (Wednesday)
- [SQLAlchemy](https://docs.sqlalchemy.org/en/14/index.html)
    - Object-relational mapping tool (ORM) that makes it easier to interact with our database (like Sequelize)
- [Flask-SQLAlchemy](https://flask-sqlalchemy.palletsprojects.com) 
    - Integrates SQLAlchemy with Flask


---

### Alembic & Flask-Migrate (Monday morning)
- [Alembic](https://alembic.sqlalchemy.org)
    - Database migration tool that works with SQLAlchemy
- [Flask-Migrate](https://flask-migrate.readthedocs.io)
    - Integrates Alembic with Flask

---

### Practice assessment (Monday afternoon)
- Time to study & work on practice assessment
- Practice assessment walkthrough
- Kahoot

---

### Week 18 Assessment (Tuesday morning)
- 3 hrs, no multiple choice

---

### Today

- Career stuff (40 min - 1 hr)
    - Reading: Presentation skills (20 min)
    - Exercise: Interview practice (40 min)
    - *Skip Instructor Led Project*
- Lecture: Python environment management & unit testing
    - NOTE: we installed pipenv last week. If you have not done so, please follow [these instructions](https://github.com/appacademy/unified-setup/blob/main/python-setup.md). You can check your install with `pipenv --version`. If it comes back with a version, you're all set!
- Python Unit Testing project