Skip to content

Latest commit

 

History

History
144 lines (126 loc) · 3.68 KB

File metadata and controls

144 lines (126 loc) · 3.68 KB

Tips and Infos for setup Tasky

The project uses:

- Oracle OpenJDK 23.0.2 9 (for all components)

- Initial project of IntelliJ

  1. File > New > Project > Quarkus > Java-Maven (checkbox Java 21 - I don't know why)
  2. Quarkus plugins = SmallRye GraphQL and JDBC Driver - MySQL

- Mermaid plugin

- Qodana plugin for code analysis

- JaCoCo code coverage

Database Information

  1. JDBC MySQL driver for Quarkus;
  2. DB installed on premise (localhost)
  3. If you like, use DBeaver for manipulate DB;
  4. The application.properties file stores DB configuration;

SQL Code using for create tables

CREATE TABLE TAGS (
tag_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(10) NOT NULL
);

CREATE TABLE TASKS (
task_id INT AUTO_INCREMENT PRIMARY KEY,
description VARCHAR(50) NOT NULL,
priority VARCHAR(10) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
conclusion_at TIMESTAMP NULL
);

CREATE TABLE TASK_TAGS (
task_tags_id INT AUTO_INCREMENT PRIMARY KEY,
task_id INT,
tag_id INT,
FOREIGN KEY (task_id) REFERENCES TASKS(task_id),
FOREIGN KEY (tag_id) REFERENCES TAGS(tag_id)
);

Miscellaneous

  1. Qodana have a cloud for code analysis. Try it;
  2. I use graphql-api.http (HTTP Client plugin build-in for IntelliJ) for dev testing of API;
    • Content of graphql-api.http:
###
GRAPHQL http://localhost:8080/graphql

mutation {
    newTask(task: {
        description: "Project Unknow New",
        priority: High,
        tagList: [Work],
        creation: "2025-04-14T11:04:30.1Z",
        conclusion: null
    })
}

###
POST http://localhost:8080/graphql

{
"query":
    "mutation {\n
        newTask(task: {\n
            description: \"Project Unknow New\",\n
            priority: High,\n
            tagList: [Work],\n
            creation: \"2025-04-14T11:04:30.1Z\",\n
            conclusion: null\n
        })\n
    }"
}
###
GRAPHQL http://localhost:8080/graphql

mutation {
  deleteById(id: 14)
}

###
GRAPHQL http://localhost:8080/graphql

mutation {
    editById(id: 2, updatedTask: {
        description: "Updated Task",
        priority: Low,
        tagList: [Personal],
        creation: "2025-06-27T16:20:30.1Z",
        conclusion: null
    }) {
    description
    priority
    tagList
    creation
    conclusion
    }
}

###
GRAPHQL http://localhost:8080/graphql

{
    listAll {
        description
        priority
        tagList
        creation
        conclusion
    }
}

###
  1. Useful end-points:
    1. GraphQL Schema API - API documentation
    2. GraphQL UI - A playground for API request
    3. Mermaid Documentation - Mermaid doc site

Extra

  • Check directory doc and find TODO over the project. Good vibes!
  • Just out of curiosity: The tests were created using the TDD technique.
  • Try Todosaurus plugin on IntelliJ.
Passo a Passo para Usar o Plugin Todosaurus
Instalar o Plugin:
Abra o IntelliJ IDEA.
Vá para Settings/Preferences > Plugins > Marketplace.
Procure por "Todosaurus" e clique em "Install".

Configurar o Plugin:

Vá para Settings/Preferences > Todosaurus.
Certifique-se de que o padrão TODO: está habilitado (ele está habilitado por padrão).
Registre seu token do GitHub em File > Settings > Version Control > GitHub.
Criar uma Issue a Partir de um Comentário TODO:
Abra o TODO tool window no IntelliJ.
Clique com o botão direito no comentário TODO que deseja vincular.
Selecione a opção "Create Issue".
Preencha os detalhes da issue e clique em "Create Issue".

Atualizar o Comentário TODO:
O comentário TODO será atualizado automaticamente com o número da issue, por exemplo, // TODO[#123]: Fix this code