<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