Skip to content

anazimerer/Labook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Labook

Status: concluído 🌟

O Labook é uma api desenvolvida para simular os processos de uma rede social. Com ele podemos criar novos usuários, fazer logins, criar amizades, posts e muito mais!

Funcionalidades

✔️ Cadastrar

✔️ Logar

✔️ Criar post

✔️ Visualizar feed

✔️ Filtrar tipos específicos de post

✔️ Curtir e descurtir posts

✔️ Comentar posts

Algumas das tecnologias e ferramentas utilizadas:

  • Node

  • Typescript

  • Arquitura MVC

  • MySQL (para construção do banco de dados)

  • Knex (para conexão com o banco de dados)

  • Express (para integração do código através do protocolo HTTP)

  • Dotenv (para acessar informações sensíveis por meio de variáveis de ambiente)

  • UUID (para geraração de id)

  • Bcryptjs (para criptografar senhas)

  • Jsonwebtoken (para gerar tokens de autenticação)

    Time:

    Ana Irala

    Ana Zimerer

    Renan Takeshi


    Modelagem:

    CREATE TABLE labook_user(
        id VARCHAR(255) PRIMARY KEY NOT NULL,
        name VARCHAR(255),
        email VARCHAR(255) UNIQUE NOT NULL,
        password VARCHAR(255) NOT NULL
    );

    CREATE TABLE labook_user_relationship(
        user_id VARCHAR(255),
        friend_id VARCHAR(255),
            PRIMARY KEY (user_id, friend_id),
            FOREIGN KEY (user_id) REFERENCES labook_user(id),
            FOREIGN KEY (friend_id) REFERENCES labook_user(id)
    );

    CREATE TABLE labook_post(
        post_id VARCHAR(255) PRIMARY KEY,
        url_photo VARCHAR(255) NOT NULL,
        description TEXT,
        creation_date TIMESTAMP DEFAULT (current_timestamp),
        type ENUM('NORMAL', 'EVENT') DEFAULT ('NORMAL'),
        user_creator_id VARCHAR(255) NOT NULL,
            FOREIGN KEY (user_creator_id) REFERENCES labook_user(id)
    );

    CREATE TABLE post_like(
        post_id VARCHAR(255),
        user_id VARCHAR(255),
            PRIMARY KEY (post_id,user_id),
            FOREIGN KEY (post_id) REFERENCES labook_post(post_id),
        	FOREIGN KEY (user_id) REFERENCES labook_user(id)
    );

    CREATE TABLE post_comment(
        comment_id VARCHAR(255) PRIMARY KEY,
        post_id VARCHAR(255) NOT NULL,
        user_id VARCHAR(255) NOT NULL,
        creation_date TIMESTAMP DEFAULT (current_timestamp),
        text TEXT NOT NULL,
            FOREIGN KEY (post_id) REFERENCES labook_post(post_id),
    	FOREIGN KEY (user_id) REFERENCES labook_user(id)
    );
  • About

    Rede social de compartilhamento de posts - Typescript | Node | SQL

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Contributors 4

    •  
    •  
    •  
    •