This public repository contains the products of my hard and determined work completing the Full-Stack Nanodegree program from Udacity.
Fyyur is a musical venue and artist booking site that facilitates the discovery and bookings of shows between local performing artists and venues. This site lets you list new artists and venues, discover them, and list shows with artists as a venue owner.
My job was to build out the data models to power the API endpoints for the Fyyur site by connecting to a PostgreSQL database for storing, querying, and creating information about artists and venues on Fyyur.
- Project URL: https://github.com/filipebezerra/FSND/tree/master/projects/01_fyyur/fyyur-app
- Built between December/19 and February/20
- SQLAlchemy ORM library
- PostgreSQL database
- Python3 server language and Flask micro framework
- Flask-Migrate for creating and running schema migrations
- HTML, CSS, and Javascript with Bootstrap 3 for the website's frontend
Trivia API is the backend application that makes the Trivia web application works.
- Project URL: https://github.com/filipebezerra/FSND/tree/master/projects/02_trivia_api/trivia-api
- Built between March/20 and April/20
- SQLAlchemy ORM library
- PostgreSQL database
- Python3 server language and Flask micro framework
- Flask-Migrate for creating and running schema migrations
- Unittest for unit and integration tests
- Swagger for documenting the API
- ReactJS for the website's frontend
Coffee Shop is a new digitally enabled cafe for students to order drinks, socialize, and study hard.
- Project URL: https://github.com/filipebezerra/FSND/tree/master/projects/03_coffee_shop_full_stack/coffee-shop-full-stack-app
- Built between March/20 and May/20
- SQLAlchemy ORM library
- PostgreSQL database
- Python3 server language and Flask micro framework
- python-jose for validating JWT
- Unittest for unit and integration tests
- Swagger for documenting the API
- Ionic for the website's frontend
The main challenge with this project it was to properly handle security concerns to user access and permissions using RBAC model and JSON Web Tokens (JWT for short) an open, industry standard RFC 7519.
Also integrating with Auth0 services to manage and authorize users within the application.
Deploy Your Flask App to Kubernetes Using EKS was an practical hands on done for my Full Stack Developer formation in the Udacity's nanodegree program.
My job was to containerize and deploy a Flask API to a Kubernetes cluster using Docker, AWS EKS, CodePipeline, and CodeBuild.
- Project URL: https://github.com/filipebezerra/FSND-Deploy-Flask-App-to-Kubernetes-Using-EKS
- Built between May/20 and June/20
- Python3 server language and Flask micro framework
- Docker for containering the application
- Kubernetes for orchestrating the containers
- AWS EKS for the cluster
- AWS Systems Manager Parameter Store for securely storing secrets
- AWS CodePipeline pipeline triggered by GitHub (CD or Continuous Delivery)
- AWS CodeBuild for stage for building, testing, and deploying the code (CI or Continuous Integration)
The main challenge with this project it was to put all the pieces together since it's nothing trivial to automate all your software engineering processes, but in the end of the day having a full automated pipeline makes life easier.
The TheCrew is a Casting Agency company that is responsible for creating movies and managing and assigning actors to those movies.
So TheCrew API is the backend application that serves and accepts JSON data for our applications and third-party applications.
- Project URL: /projects/capstone/thecrew_full_stack/thecrew-app-backend-api-python
- Built between August/20 and September/20
- SQLAlchemy ORM library
- PostgreSQL database
- Redis NoSQL key/value database for caching API responses
- Python3 server language and Flask micro framework
- python-jose for validating JWT
- Unittest for unit and integration tests
- Swagger for documenting the API
- Bootstrap-Flask library for Bootstrap 4 helper for Flask/Jinja2
- Heroku where the applications is deployed
The main challenge with this project it was to build a real production-ready REST API.