Skip to content

Latest commit

 

History

History
25 lines (23 loc) · 1.32 KB

readme.md

File metadata and controls

25 lines (23 loc) · 1.32 KB

What is this project about?

  • This is a url shortening service that provides a shorturl for any given longurl.
  • For design documentation of the project look at design_doc.pdf.
  • For API documentation do one of following
    • Look at api_doc.pdf
    • Set up the app locally and look at swagger-ui

How to setup the project?

  1. Clone the project.
  2. Set up the virtualenv for the project.
    1. pip3 install virtualenv
    2. virtualenv venv
    3. source venv/bin/activate
  3. Install the requirements
    1. pip3 install -r requirements.txt
  4. Run the project
    1. FLASK_APP=./src/shorturl/run.py FLASK_DEBUG=1 flask run
  5. Access the swagger-ui at following url.
    • http://127.0.0.1:5000/v1/ui

Learning outcome

  1. Write code by following the openAPI spec (Generated stubs from openAPI specificaion.yml file).
  2. Write a basic architecture for url shortening that can easily scale on aws.
  3. Various tools available on AWS for scaling the deployed service (i.e. autoscaling group, load balancer).
  4. Write an application using python and flask.