Carlo1911 / shortener

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project Shortener

CORE REQUIREMENTS

• We must be able to put a URL into the home page and get back a URL of the shortest possible length. • We must be redirected to the full URL when we enter the short URL (ex: http://localhost:3000/a => https://google.com)

• There should be a page that shows the top 100 most frequently accessed URLs.

• There must be a background job that crawls the URL being shortened, pulls the <title> from the website and stores it. • Display the title with the URL on the top 100 board. • There must be a README that explains how to setup the application and the algorithm used for generating the URL short code.

NICE TO HAVE:

Write a bot to populate your DB, and include it in the source code Write Unit or Integration Tests

Starting 🚀

Follow this instructions to start building a copy of this project.

Tech requirements 📋

  • Docker 19.03^
  • Docker Compose 1.25^

Installation 🔧

  1. Clone the repository

    git clone ...
    
  2. Create a copy of .envs

    cp -r .envs-example .envs
    
  3. Create the images

    make build
    
  4. Up the containers

    make up
    
  5. Migrate

    make migrate
    
  6. Create super user

    make superuser
    

Misc

Generate migrations from changes in models make migrations

Generating short url using a random choices from letters and digits with a length of 15. Other possible option was using uuid.

Utils 💻


References 📖

  • Project based on the book: Django 3 Web Development Cookbook Fourth Edition (Enlace al libro)

⌨️ con ❤️ por Carlo1911 🧑‍💻


About

License:GNU General Public License v3.0


Languages

Language:JavaScript 52.4%Language:CSS 38.7%Language:Python 6.5%Language:Makefile 0.9%Language:Dockerfile 0.6%Language:HTML 0.6%Language:Shell 0.3%