Skip to content

Linktree Clone is a responsible web application where users create an account and edit their profiles adding useful links and social networks that they want to share with public. The project was made using Flask (and a few derived libraries), SQLite, HTML, CSS, JavaScript and Bootstrap (all technologies that I see in the course).

Notifications You must be signed in to change notification settings

ruantmelo/linktree-clone

Repository files navigation

Linktree Clone

Description: Linktree Clone is a responsible web application where users create an account and edit their profiles adding useful links and social networks that they want to share with public. The project was made using Flask (and a few derived libraries), SQLite, HTML, CSS, JavaScript and Bootstrap (all technologies that I see in the course). I choose this idea because i can use a lot of my knowledge acquired through the course and its usability.

Structure

app.py is the entrypoint, it contains all route functions, database models and center imports from others libraries. The understanding of how the application works can be obtained by reading it. Database models are just python classes that Flask-SQLAlchemy understand and reflects on the database using migrations. SQLite was a great choice, it has all the necessary column types and simplicity requested by application, and works fine with Flask-SQLAlchemy. The main database entities are User, Links and Social Networks, being necessary an association table to link User and Social Networks (many-to-many relationship). I encountered a few problems working with migrations, but in the end it works.

utils.py has login_required(), a decorator that verify user session and protect routes.

templates/* has all the pages and are provided by routes using jinja and data recovered from database.

static/* has general and pages specific CSS files

migrations/* contains data generated by Flask-Migrate, using flask db migrate

flask_session contains users sessions

Routes

A few routes ensure the functionality of Linktree Clone.

  • /: If logged go to /<your_user_id>, if not, go to /login.
  • /login: render login.html page, where user login an existing account.
  • /register: render template.html, where user login an existing account.
  • /<user_id>: renders <user_id> profile.
  • /logout: If the user wants to log out.

Pages

  • login page
  • register page
  • edit page
  • profile page (user)

How to run

I recommend create a virtual environment, take a look at https://docs.python.org/3/tutorial/venv.html

How to use

  1. Create an account
  2. Adding links and/or social networks
  3. Share your profile and see others profiles
  4. When you are done, logout from application

About

Linktree Clone is a responsible web application where users create an account and edit their profiles adding useful links and social networks that they want to share with public. The project was made using Flask (and a few derived libraries), SQLite, HTML, CSS, JavaScript and Bootstrap (all technologies that I see in the course).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published