Code Monkey home page Code Monkey logo

udacity-full-stack-developer-nanodegree's Introduction

FSND Full-Stack-Developer Project Submissions

Portfolio of Projects from the Udacity-FSND.

Successor of my first Udacity Nanodegree Intro to Programming.

Project 1: Booking Site Fy-yur

est. time spent: 32 hours (including pre-courses)

Aim of the project was to build a full-stack Web App with Flask and Boostrap which enables Venues & Artists to list themselves and arrange Shows together.

Used tech stack:

  • SQLAlchemy as ORM library of choice
  • PostgreSQL as database
  • Python3 and Flask for server language and framework
  • Flask-Migrate for creating and running schema migrations
  • Frontend: HTML, CSS, and Javascript with Bootstrap 3 (mainly provided by Udacity Team)

Applied concepts:

  • How to use Git Bash & Github as version control tool
  • Configure local database and connect it to a web application
  • Create Model Schemas with columns and relationships (1:1, 1:n and N:N)
  • Use SQLAlchemy ORM with PostgreSQL to query, insert, edit & delete Data
  • Use WTForms to encapsulate input forms in seperate file & to allow for custom validations
  • Use Boostrap as a simple to use Front End Libary and Ajax to fetch flask routes
  • Create SQL-like Queries, but without any SQL syntax, only using SQLAlchemy ORM
  • How to clearly structurize a larger web application in different files & folders

View Project.

Project 2: Trivia API

est. time spent: 36 hours (including pre-courses)

Using 'Flask' and 'React', created a Full-Stack App to manage questions for different categories & develop an API to power the Quiz Gameplay.

Used tech stack:

  • React Components as frontend (provided by Udacity Team)
  • Python3 and Flask for server language and API development
  • cors to handle access to the API
  • unittest for automated testing of APIs
  • curl to get responses from API
  • README.md to document project setup & API endpoints

Applied concepts:

  • using best-practice PEP8-style to design and structur code
  • test-driven-development (TDD) to rapidly create highly tested & maintainable endpoints.
  • directly test and make response to any endpoint out there with curl.
  • implement errorhandler to format & design appropiate error messages to client
  • becoming aware of the importance of extensive project documentation & testing.

View Project.

Project 3: Coffee Shop (Security & Authorization)

est. time spent: 16 hours (including pre-courses)

Using 'Flask' and 'Auth0', created a Full-Stack App to let Users login to Site & make actions according to their Role & Permission Sets.

Used tech stack:

  • Python3 & Flask for server language and API development
  • SQLAlchemy as ORM / Sqlite as database
  • Ionic to serve and build the frontend (provided by Udacity Team)
  • Auth0 as external Authorization Service & permission creation
  • jose JavaScript Object Signing and Encryption for JWTs. Useful for encoding, decoding, and verifying JWTs.
  • postman to automatize endpoint testing & verification of correct Authorization behaviour.

View Project.

Project 4: Server Deployment, Containerization and Testing

est. time spent: 24 hours (including pre-courses)

Deployed a Flask API to a Kubernetes cluster using Docker, AWS EKS, CodePipeline, and CodeBuild.

(Application has been teared down after successfull review to avoid incurring additional costs)

View Project.

Used tech stack:

  • Docker for app containerization & image creation to ensure environment consistency across development and production server
  • AWS EKS & Kubernetes as container orchestration service to allow for horizontal scaling
  • aswscli to interact with AWS Cloud Services
  • ekscli for EKS cluster creation
  • kubectl to interact with kubernetes cluster & pods
  • CodePipeline for Continuous Delivery (CD) & to watch Github Repo for changes
  • CodeBuild for Continuous Integration (CI), together with pytest for automated testing before deployment

Project 5: Capstone

est. time spent: 20 hours (no precourses)

This is the last project of the Udacity-Full-Stack-Nanodegree Course. It covers following technical topics in 1 app:

  1. Database modeling with postgres & sqlalchemy (see models.py)
  2. API to performance CRUD Operations on database with Flask (see app.py)
  3. Automated testing with Unittest (see test_app)
  4. Authorization & Role based Authentification with Auth0 (see auth.py)
  5. Deployment on Heroku (see setup.sh)

View Project.

udacity-full-stack-developer-nanodegree's People

Contributors

thalrion avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.