/4Geeks_exercise-instagram-data-modelling

Data modeling Instagram with a basic UML diagram

Primary LanguagePython

Instagram Database Modelling

This was one of my first ever backend projects, designed to help us learn about (relational) databases, the programming languages SQL as well as SQLAlchemy which allows us to more easily use SQL to communicate and interact with databases, and finally the different types of relationships that can exist with relational databases (1:1, 1:N, N:N etc).

For this project we focused just on making a correct Entity Relationship Diagram (ERD) to help us visualise the structure and organisation of our databases, as well as think through how our tables of data would be related to each other.

Below you can see the final output of the code which can be found in the file "models.py" and was generated by the diagram.png file by running $ python src/models.py in the console.

instadb

Original Project Documentation

🔥 You can use this FREE tool to practice your diagram for the first time: https://app.quickdatabasediagrams.com/#/d/

💻 Installation

  1. Get inside the environment $ pipenv shell

  2. Install all dependencies $ pipenv install

  3. Generate the diagram as many times as you need $ python src/models.py

  4. Open the file diagram.png to check out your ERD diagram!

📝Instructions

Your job is to update the src/models.py file with the code needed to replicate Instagram's data model.

The project is using the SQLAlchemy Python library to generate the database.

  • What tables do you think Instagram might have on its database: E.g: Post, User, etc.?
  • What properties should go inside the user? or inside the Post table?
  • Please add at least 4 models with all of its properties.
  • Refresh the diagram.png file at the end by running $ python src/models.py on the console.