The goal of the Full Stack Web Developer Nanodegree program is to equip learners with the unique skills they need to build database-backed APIs and web applications. A graduate of this program will be able to design and build databases for software applications, create and deploy database-backed web APIs, and secure and manage user authentication and access control for an application backend. Students will also learn how to deploy a Flask-based web application to the cloud using Docker and Kubernetes.
The projects folder contains the four projects I completed during this course.
Project to practice building models and model interactions to be able to store retrieve, and update data from a database.
Project to practice structuring, planning, implementing, and testing an API.
Project to practice authentication and authorization (with Roles Based Authentication using JWT and Auth0).
Project to practice containerizing and deploying a Flask API to a Kubernetes cluster using Docker, AWS EKS, CodePipeline, and CodeBuild.
- Python3 and Flask as server language and server framework (mostly)
- PostgreSQL (and a little SQL Lite) as the database of choice
- SQLAlchemy ORM as ORM library
- Flask-Migrate for database migration
- virtualenv as a tool to create isolated Python environments
- Jinja for serverside templates and REACT, Vue.js, and Ionic for clientside applications
- Python unittests for API endpoint testing
- Node and NPM for some serverside stuff
- JWT & RBAC for authentication and authorization
- Auth0 as an auth service
- Postman for endpoint documentation and testing
- Docker
- Amazon Web Services (EKS (Kubernetes), CodePipeline, and CodeBuild)
and probably a few more