Plataforma para atendimento a outras empresas que necessitam de atendimento técnico.

Overview
SoftClient Logo

Plataforma para atendimento a outras empresas que necessitam de atendimento técnico. É possível que os usuarios de empresas parceiras registrem solicitações para atendimento de seus equipamentos, tais como: computador, impressora, nobreak e notebook. E os técnicos poderão posicionar para atendimento e ir até o local para fazer a manutenção do mesmo.

Rodando a aplicação:

Após clonar do Git, digite no terminal:

  • python -m venv venv
  • source venv/bin/activate
  • pip install -r requirements.txt
  • flask run

Para criar um usuário do tipo "super", digite o seguinte comando no terminal:

heroku run --app softclient flask super create name username password

Exemplo:

heroku run --app softclient flask super create kelvin kallissin 123456

Para ativar a empresa que irá cadastrar, digite o seguinte comando no terminal:

heroku run --app softclient flask super active cnpj

Exemplo:

heroku run --app softclient flask super active 20232212232343

Deploy da aplicação:

https://softclient.herokuapp.com/api

Endpoints

  1. Owners
  2. Company
    • Login Company
  3. User
    • Login User
  4. Orders
  5. Technicians

Owners

Endpoint referente aos donos da empresa, onde podemos fazer fazer login e listar todos os donos.

Login Owner

Rota responsável pelo login do usuário "owner". Retorna um token de acesso, para que o método GET seja liberado.

url method status
/owner/login POST 200 - 404

BODY

{
  "username": "odaairlopes",
  "password": "123456"
}

RESPONSE

{
  "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYzOTU5MTA2MywianRpIjoiNTU3MTczNDktOGRkZS00ZmM5LWI1NzktYzE3OGQ5NTI4ZTE1IiwidHlwZSI6ImFjY2VzcyIsInN1YiI6eyJpZCI6MSwibmFtZSI6Ik9kYWlyIiwidXNlcm5hbWUiOiJvZGFhaXJsb3BlcyIsInJvbGUiOiJzdXBlciIsImFjdGl2ZSI6dHJ1ZX0sIm5iZiI6MTYzOTU5MTA2MywiZXhwIjoxNjM5NTkxOTYzfQ.q7nCO3NVPcSOdIZalcQNKOLtVw7u-JdbeJAoUqa5dcQ"
}

GET Owner

Rota responsável por mostrar todos os usuários "owner" cadastrados.

url method status
/owner GET 200

RESPONSE

[
  {
    "id": 1,
    "name": "Odair",
    "username": "odaairlopes",
    "role": "super",
    "active": true
  }
]

Company

Endpoint referente à própria empresa. Aqui, podemos fazer o login, criação de novas empresas, obtenção de todas empresas cadastradas, obtenção de apenas uma empresa (pelo id), obtenção de todos os usuários de determinada empresa e remoção de uma empresa cadastrada. Para a empresa cadastrar uma empresa, é necessário de um super usuário.

Login Company

Rota responsável pelo login da empresa. Retorna um token de acesso para que os outros métodos sejam liberados. Essa empresa precisa estar ativada (ativação feita pelo super usuário).

url method status
/company/login POST 200 - 404

BODY

{
  "username": "sofclient",
  "password": "softclient1234"
}

RESPONSE

{
  "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYzOTU5MTg1NywianRpIjoiZmJkNWYzMDEtZjJlMS00MDhkLWE5YjUtNzg3M2U4YmFiZjE4IiwidHlwZSI6ImFjY2VzcyIsInN1YiI6eyJpZCI6MSwiYWN0aXZlIjpmYWxzZSwiY25waiI6IjIwMjMyMjEyMjMyMzQyIiwidHJhZGluZ19uYW1lIjoiU29mdCBDbGllbnQgSW5jLiIsImNvbXBhbnlfbmFtZSI6IlNvZnRjbGllbnQiLCJ1c2VybmFtZSI6InNvZmNsaWVudCIsInJvbGUiOiJhZG1pbiJ9LCJuYmYiOjE2Mzk1OTE4NTcsImV4cCI6MTYzOTU5Mjc1N30.TyrNl7sgcVeeI4RjJehpUU_Ln-zD2BLD3M7tAuXCPP4"
}

POST Company

Rota para cadastrar uma empresa.

url method status
/company POST 201 - 400

Formato dos campos:

  • "cnpj": deve ser colocado todos os 14 dígitos, sem pontuação;

BODY

{
  "cnpj": "20232212232342",
  "trading_name": "Soft Client Inc.",
  "company_name": "SoftClient",
  "username": "sofclient",
  "password": "softclient1234"
}

RESPONSE

{
  "id": 1,
  "active": false,
  "cnpj": "20.232.212/2323-42",
  "trading_name": "Soft Client Inc.",
  "company_name": "Softclient"
}

GET Company

Rota para obter todas as empresas cadastradas.

url method status
/company GET 201

RESPONSE

[
  {
    "id": 1,
    "cnpj": "20.232.212/2323-42",
    "trading_name": "Soft Client Inc.",
    "company_name": "Softclient",
    "users": []
  },
  {
    "id": 2,
    "cnpj": "10.123.286/0001-56",
    "trading_name": "Wal-Mart Inc.",
    "company_name": "Walmart",
    "users": []
  },
  {
    "id": 3,
    "cnpj": "08.522.687/0001-37",
    "trading_name": "Microsoft Inc.",
    "company_name": "Microsoft",
    "users": []
  }
]

GET One Company

Rota que pega uma única empresa, pelo seu id.

url method status
company/company_id GET 200 - 404

RESPONSE

{
  "id": 1,
  "cnpj": "20.232.212/2323-42",
  "trading_name": "Soft Client Inc.",
  "company_name": "Softclient",
  "users": []
}

GET Company Users

Rota que pega os usuários cadastrados referentes à empresa.

url method status
/company/company_id/users GET 200 - 400

1 - Caso não haja nenhum usuário cadastrado

RESPONSE

[]

2 - Caso tenha algum usuário cadastrado

RESPONSE

[
  {
    "id": 1,
    "name": "Marcelo",
    "email": "[email protected]",
    "birthdate": "Fri, 22 Nov 1996 00:00:00 GMT",
    "active": true,
    "role": "tech"
  }
]

PATCH Company

Rota responsável pela atualização de uma empresa.

url method status
/company/company_id PATCH 200 - 400

BODY

{
  "trading_name": "Soft Client Enterprise"
}

RESPONSE

{
  "id": 1,
  "cnpj": "20.232.212/2323-42",
  "trading_name": "Soft Client Enterprise",
  "company_name": "Softclient"
}

PATCH Company active

Rota responsável por desativar uma empresa.

url method status
/company/company_id PATCH 200 - 400

BODY

{
  "active": False
}

RESPONSE - status

{
  "id": 1,
  "cnpj": "20.232.212/2323-42",
  "trading_name": "Soft Client Enterprise",
  "company_name": "Softclient",
  "active": false
}

User

Endpoint referente aos usuários que fazem parte da empresa. Aqui podemos fazer a criação de usuário, alteração de usuários, obtenção de todos os usuários, obtenção de usuário por filtragem (email e nome), remoção de um usuário, pesquisa de usuários que solicitaram um serviço e pesquisa de um usuário de certa empresa.

Login User

Rota responsável pelo login do usuário. Retorna um token de acesso para que os outros métodos sejam liberados.

BODY

{
  "email": "[email protected]",
  "password": "kelvin1234"
}

RESPONSE

{
  "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYzOTU5MzI0NywianRpIjoiYzUwMThhNmEtYWI2Mi00NWI2LTkyM2UtNTA5MzZlNWU0NTBjIiwidHlwZSI6ImFjY2VzcyIsInN1YiI6eyJpZCI6MSwibmFtZSI6IktlbHZpbiIsImVtYWlsIjoia2VsdmluQGdtYWlsLmNvbSIsInBvc2l0aW9uIjoiQ1RPIiwiYWN0aXZlIjp0cnVlLCJiaXJ0aGRhdGUiOiIyMi8wNS8xOTkzIiwicm9sZSI6ImFkbWluIiwiY29tcGFueV9uYW1lIjoiU29mdGNsaWVudCJ9LCJuYmYiOjE2Mzk1OTMyNDcsImV4cCI6MTYzOTU5NDE0N30.UpfscEuF4p-BpO1NJtJb4RkKII-GvDxA-pfJyu4OjC4"
}

POST User

Rota referente a criação de um usuário. Necessário utilizar o token da empresa, para fazer a criação do seu usuário.

url method status
/user POST 201 - 400 - 409

Formato dos campos:

  • "name": string com 150 caracteres;
  • "email": string;
  • "password": string;
  • "birthdate": data no formato XX/XX/XXXX;
  • "position": cargo na empresa, string;
  • "role": permissões que são concedidas ao usuário (user/tech);

BODY

{
  "name": "Kelvin",
  "email": "[email protected]",
  "password": "kelvin1234",
  "birthdate": "22/05/1993",
  "position": "CTO",
  "role": "admin",
  "company_id": 1
}

RESPONSE

{
  "id": 1,
  "name": "Kelvin",
  "email": "[email protected]",
  "position": "CTO",
  "birthdate": "22/05/1993",
  "active": true,
  "role": "admin",
  "company_name": "Softclient"
}

GET Users

Rota para obter todos os usuários cadastrados.

url method status
/user GET 200

RESPONSE

[
  {
    "id": 1,
    "name": "Kelvin",
    "email": "[email protected]",
    "position": "CTO",
    "active": true,
    "birthdate": "22/05/1993",
    "role": "admin",
    "company": {
      "id": 1,
      "trading_name": "Soft Client Inc.",
      "cnpj": "20232212232342"
    }
  }
]

GET One user by id

Rota referente a pesquisa de um usuário, passando o id dele.

url method status
/user/user_id GET 200 - 404

RESPONSE

{
  "id": 1,
  "name": "Kelvin",
  "email": "[email protected]",
  "position": "CTO",
  "active": true,
  "birthdate": "22/05/1993",
  "role": "admin",
  "company": {
    "id": 1,
    "trading_name": "Soft Client Inc.",
    "cnpj": "20232212232342"
  }
}

GET One user by name

Rota referente a pesquisa de um usuário, passando o nome dele.

url method status
/user/user_name GET 200 - 404

RESPONSE

{
  "id": 1,
  "name": "Kelvin",
  "email": "[email protected]",
  "position": "CTO",
  "active": true,
  "birthdate": "22/05/1993",
  "role": "admin",
  "company": {
    "id": 1,
    "trading_name": "Soft Client Inc.",
    "cnpj": "20232212232342"
  }
}

GET Company by user id

Rota responsável pela pesquisa de uma empresa utilizando o id do usuário.

url method status
/user/user_id/company GET 200 - 404

RESPONSE

{
  "company": {
    "id": 1,
    "cnpj": "20232212232342",
    "trading_name": "Soft Client Inc.",
    "company_name": "Softclient"
  }
}

GET Order by user id

Rota responsável pela pesquisa de um chamado utilizando o id do usuário. Para essa pesquisa, é necessário passar o token do usuário com a role 'user'.

url method status
/user/user_id/order GET 200 - 404

RESPONSE

[
  {
    "id": 1,
    "type": "computador",
    "status": "fechado",
    "description": "O computador apresenta falhas contínuas",
    "release_date": "Wed, 15 Dec 2021 18:45:47 GMT",
    "update_date": "Wed, 15 Dec 2021 19:02:15 GMT",
    "solution": "Troca de algumas peças do computador, que estavam falhando. Todas elas foram verificadas."
  }
]

PATCH User

Rota referente a atualização de um usuário, passando o id desse usuário.

url method status
/user/user_id PATCH 200 - 404

BODY

{
  "name": "Kelvin Alisson"
}

RESPONSE

{
  "id": 1,
  "name": "Kelvin",
  "email": "[email protected]",
  "position": "CTO",
  "active": true,
  "birthdate": "22/05/1993",
  "role": "admin",
  "company_name": "Softclient"
}

Order

Endpoint referente a criação de um chamado, alteração de usuários, obtenção de todos os chamados, remoção de um chamado, pesquisa do usuário que fez um chamado e pesquisa de um técnico de pelo chamado. O chamado só pode ser criado por um usuário que tenha a role de 'user', sendo necessário o token desse usuário.

POST Order

Rota referente à criação de um chamado.

url method status
/orders POST 200

BODY

{
  "type": "nobreak",
  "description": "No break apitando todo momento",
  "release_date": "22/10/2021",
  "update_date": "16/12/2021",
  "user_id": 1
}

RESPONSE

{
  "id": 1,
  "type": "nobreak",
  "status": "aberto",
  "description": "No break apitando todo momento",
  "release_date": "Thu, 16 Dec 2021 17:05:31 GMT",
  "update_date": "Thu, 16 Dec 2021 17:05:31 GMT",
  "solution": "",
  "user": {
    "id": 1,
    "name": "Kelvin",
    "email": "[email protected]",
    "position": "CTO",
    "role": "admin"
  },
  "technician": null
}

GET Order

Rota responsável por obter todos os chamados.

url method status
/orders GET 200

RESPONSE

[
  {
    "id": 1,
    "type": "nobreak",
    "status": "aberto",
    "description": "No break apitando todo momento",
    "release_date": "Thu, 16 Dec 2021 17:05:31 GMT",
    "update_date": "Thu, 16 Dec 2021 17:05:31 GMT",
    "solution": "",
    "user": {
      "id": 1,
      "name": "Kelvin",
      "email": "[email protected]",
      "position": "CTO",
      "role": "admin"
    },
    "technician": null
  }
]

GET Order by id

Rota responsável pela pesquisa do chamado, passando o id dele na requisição.

url method status
/orders/order_id GET 200 - 404

RESPONSE

{
  "id": 1,
  "type": "Nobreak",
  "status": "aberto",
  "description": "No break apitando todo momento",
  "release_date": "Thu, 16 Dec 2021 17:05:31 GMT",
  "update_date": "Thu, 16 Dec 2021 17:05:31 GMT",
  "solution": "",
  "user": {
    "id": 1,
    "name": "Kelvin",
    "email": "[email protected]",
    "position": "CTO",
    "role": "admin"
  },
  "technician": null
}

GET User by order id

Rota responsável pela pesquisa do usuário que solicitou o chamado, passando o id do chamado na rota.

url method status
/orders/order_id/user GET 200 - 404

RESPONSE

{
  "user": {
    "id": 2,
    "name": "João Guilherme Filho",
    "email": "[email protected]",
    "birthdate": "22/05/1993",
    "role": "user"
  }
}

GET Technician by order id

Rota responsável pela pesquisa do técnico que realizará a manutenção, passando o id do chamado na rota.

url method status
/orders/order_id/technician GET 200 - 404

RESPONSE

{
  "technician": {
    "id": 1,
    "name": "Gustavo Martins",
    "email": "[email protected]",
    "birthdate": "22/11/1996"
  }
}

GET Order by status

Rota responsável por obter os chamados, passando na rota os status disponíveis (aberto, em_atendimento, fechado) e o token do usuário que criou esse chamado.

url method status
/orders/order_status GET 200 - 404

RESPONSE

[
  {
    "id": 1,
    "type": "Nobreak",
    "status": "aberto",
    "description": "No break apitando todo momento",
    "release_date": "Thu, 16 Dec 2021 17:05:31 GMT",
    "update_date": "Thu, 16 Dec 2021 17:05:31 GMT",
    "solution": "",
    "user": {
      "id": 1,
      "name": "Kelvin",
      "email": "[email protected]",
      "position": "CTO",
      "role": "admin"
    },
    "technician": null
  }
]

GET Orders Relatory

Rota responsável para download de relatório de ordens com status igual a aberto e em_atendimento

url method status
/orders/relatory GET 200 - 404

PATCH Order by id

Rota responsável pela atualização de um chamado, passando o id dele na rota.

url method status
/orders/order_id PATCH 200 - 400 - 401 - 404

BODY

{
  "description": "Apresenta falhas contínuas."
}

RESPONSE

{
  "id": 1,
  "type": "Nobreak",
  "status": "aberto",
  "description": "Apresenta falhas contínuas.",
  "release_date": "Thu, 16 Dec 2021 17:05:31 GMT",
  "update_date": "Thu, 16 Dec 2021 17:05:31 GMT",
  "solution": "",
  "user": {
    "id": 1,
    "name": "João",
    "email": "[email protected]",
    "position": "CTO",
    "role": "admin"
  },
  "technician": null
}

DELETE Order

Rota responsável por fazer a remoção de um chamado, passando o id dele na rota.

url method status
/orders/order_id DELETE 200 - 404

RESPONSE - status

204

Technician

Endpoint referente ao técnicos responsáveis por responderem aos chamados. Aqui podemso fazer o login do técnico, inserção de um técnico, alteração de dados do técnico, obtenção de todos os técnicos, obtenção de um técnico apenas, obtenção dos chamados que estão relacionados à um técnico e exclusão de um técnico. Para a criação de um técnico, é necessário o token da empresa. Para as outras rotas, necessário o token do próprio técnico, obtido no login.

LOGIN Technician

Rota responsável pelo login do técnico. Retorna um token de acesso para que os outros métodos sejam liberados.

url method status
/technicians/login POST 200 - 404

BODY

{
  "email": "[email protected]",
  "password": "123456"
}

RESPONSE

{
  "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTYzOTU5NDQzMywianRpIjoiYjJiNDMyZWUtMzlhMC00MTNmLTlhOWYtYTQ5Y2QwYjM4NWQzIiwidHlwZSI6ImFjY2VzcyIsInN1YiI6eyJpZCI6MSwibmFtZSI6Ikd1c3Rhdm8gTWFydGlucyIsImVtYWlsIjoiZ3VzdGF2b21hcnRpbnNAZ21haWwuY29tIiwiYmlydGhkYXRlIjoiRnJpLCAyNyBEZWMgMTk4NSAwMDowMDowMCBHTVQifSwibmJmIjoxNjM5NTk0NDMzLCJleHAiOjE2Mzk1OTUzMzN9.snEqX5nCWlItBDEcOEVXFZHOKYgwrgrFdPgeNGyEwAs"
}

POST Technician

url method status
/technicians POST 200
{
  "name": "Erick Lander",
  "email": "[email protected]",
  "password": "123456",
  "birthdate": "03/05/1989"
}

RESPONSE

{
  "id": 1,
  "name": "Erick Lander",
  "email": "[email protected]",
  "birthdate": "03/05/1989",
  "role": "tech"
}

GET Technician

Rota responsável pela pesquisa de todos os técnicos registrados na API.

url method status
/technicians GET 200
[
  {
    "id": 1,
    "name": "Erick Lander",
    "email": "[email protected]",
    "birthdate": "03/05/1989",
    "role": "tech"
  }
]

GET Technician by id

Rota responsável por trazer os dados de um técnico, passando o id dele na rota.

url method status
/technicians/technician_id GET 200 - 404
{
  "id": 1,
  "name": "Erick Lander",
  "email": "[email protected]",
  "birthdate": "03/05/1989",
  "role": "tech"
}

GET Order by technician id

Rota responsável por obter à qua(is)l chamado(s) aquele técnico foi relacionado, passando o id do técnico na rota.

url method status
/technicians/technician_id/orders GET 200 - 404
[
  {
    "id": 1,
    "type": "nobreak",
    "status": "em_atendimento",
    "description": "Apresenta falhas contínuas.",
    "release_date": "Thu, 16 Dec 2021 17:05:31 GMT",
    "update_date": "Thu, 16 Dec 2021 17:32:12 GMT",
    "solution": "",
    "user": {
      "id": 1,
      "name": "João",
      "email": "[email protected]",
      "position": "CTO",
      "company": {
        "id": 1,
        "cnpj": "52.468.355/0001-03",
        "trading_name": "Microsoft Enterprise"
      }
    }
  }
]

PATCH Technician

Rota responsável pela atualização dos dados do técnico, passando o id do técnico na rota. Para poder fazer as alterações, é necessário estar logado na aplicação.

url method status
/technicians/technician_id PATCH 200 - 400 - 404 - 409

BODY

{
  "name": "Erick"
}

RESPONSE

{
  "id": 1,
  "name": "Erick",
  "email": "[email protected]",
  "birthdate": "03/05/1989",
  "role": "tech"
}

PATCH Take order

Rota responsável pelo técnico assumir um chamado em aberto. Para isso, é necessário apenas passar o id do chamado na rota e o token do técnico que ficará com aquele chamado.

url method status
/technicians/take_order/order_id PATCH 200 - 400 - 404

RESPONSE

{
  "order": {
    "id": 1,
    "status": "em_atendimento",
    "type": "nobreak",
    "description": "Apresenta falhas contínuas.",
    "release_date": "Thu, 16 Dec 2021 17:05:31 GMT",
    "update_date": "Thu, 16 Dec 2021 17:32:12 GMT",
    "user": {
      "id": 1,
      "name": "João",
      "email": "[email protected]",
      "position": "CTO",
      "birthdate": "01/01/2001"
    }
  }
}

PATCH Finalize order

Rota responsável pelo técnico finalizar aquele chamado. Para isso, é necessário apenas passar id do chamado na rota e o token do técnico que havia assumido aquele chamado.

url method status
/technicians/finalize_order/order_id PATCH 200 - 400 - 401 - 404

BODY

{
  "solution": "COMPRA DE UM NOVO NOBREAK."
}

RESPONSE

{
  "order": {
    "id": 1,
    "status": "fechado",
    "type": "nobreak",
    "description": "Apresenta falhas contínuas.",
    "release_date": "Thu, 16 Dec 2021 17:05:31 GMT",
    "update_date": "Thu, 16 Dec 2021 17:34:30 GMT",
    "solution": "COMPRA DE UM NOVO NOBREAK.",
    "user": {
      "id": 1,
      "name": "João",
      "email": "[email protected]",
      "position": "CTO",
      "birthdate": "01/01/2001"
    }
  }
}
Owner
Kelvin Alisson Cantarino
Desenvolvedor Web Full Stack
Kelvin Alisson Cantarino
Python client for Invidious' JSON API

Python project template A template for new Python projects. Features Automatically builds PDoc documentation & uploads package to PyPI on new GitHub r

Kevo 2 Jun 05, 2022
A discord account nuker with lots of tools that will destroy a discord account

A discord account nuker with lots of tools that will destroy a discord account (token destroyer... and much more).

firexi 10 Apr 28, 2022
A full-fledged discord bot with moderation and a lot more.

HOT-BOT-POL-POT ⭐ Star me on GitHub m'lady.... hot-bot-pol-pot is a moderation discord bot written using enhanced-dpy library with many functionalitie

Pure Cheekbones 4 Oct 08, 2022
Technical Test - Python Programmer Grupo Nexxera

Technical Test Nexxera Group Teste Técnico - Grupo de Programadores Python Nexxera 📍 Prepare-se para usar a API Nossa API de transações de contas dig

Raul dos Santos Moraes 1 Mar 16, 2022
Auto file forward bot with python

Auto-File-Forward-Bot Auto file forward bot. Without Admin Permission in FROM_CHANNEL Only Give Permission In your Telegram Personal Channel Please fo

Milas 1 Oct 15, 2021
IACR Events Scraper

IACR Events Scraper This scrapes https://iacr.org/events/ and exports it as a calendar file. I host a version of this for myself under https://arrrr.c

Karolin Varner 6 May 28, 2022
My Advent of Code solutions. I also upload videos of my solves: https://www.youtube.com/channel/UCuWLIm0l4sDpEe28t41WITA

My solutions to adventofcode.com puzzles. I post videos of me solving the puzzles in real-time at https://www.youtube.com/channel/UCuWLIm0l4sDpEe28t41

195 Jan 04, 2023
A discord nitro generator written in python

VerseGenerator A discord nitro generator written in python Usage ・Fork the repo ・Clone it to replit ・Install the required packages and run it ・Input t

NotDrakezz 4 Nov 13, 2021
GroupMenter : New Telegram Group Manager Bot🔸Fast 🔸Python🔸Pyrogram 🔸

GroupMenter An PowerFull Group Manager Bot. Written In Pytelethon. Info • A modular Telegram Python bot running on python3. • Can be found on telegram

Group Menter 24 Jun 28, 2022
A discord webhook client written in Python.

DiscordWebhook A discord webhook client written in Python. Installation pip install webhook-client Example from webhook_client import WebhookClient, E

Elijah 4 Nov 28, 2022
Support for Competitive Coding badges to add in Github readme or portfolio websites.

Support for Competitive Coding badges to add in Github readme or portfolio websites.

Akshat Aggarwal 2 Feb 14, 2022
Complete portable pipeline for masking of Aadhaar Number adhering to Govt. Privacy Guidelines.

Aadhaar Number Masking Pipeline Implementation of a complete pipeline that masks the Aadhaar Number in given images to adhere to Govt. of India's Priv

1 Nov 06, 2021
A Telegram bot to download posts, videos, reels, IGTV and a user profile picture from Instagram!

Telegram Bot A telegram bot to download media from Instagram! No API Key or Login Needed! Requirements You must have python installed (of course) You

Simon Farah 2 Apr 10, 2022
Unirest in Python: Simplified, lightweight HTTP client library.

Unirest for Python Unirest is a set of lightweight HTTP libraries available in multiple languages, built and maintained by Mashape, who also maintain

Kong 432 Dec 21, 2022
A Recommendation System For Diabetes Detection And Treatment

Diabetes-detection-tg-bot A Recommendation System For Diabetes Detection And Treatment Данная система помогает определить наличие или отсутствие сахар

Alexander Kanonirov 1 Nov 22, 2021
Asca - Antiscam Discord Bot With Python

asca Antiscam Discord Bot Asca moderates scammers and deletes scam messages Opti

11 Nov 01, 2022
Simple Telegram Bot to Download and Upload Files From Mega.nz

Mega.nz-Bot Simple Telegram Bot to Download Files From Mega.nz and Upload It to Telegram Features All Mega.nz File Links supported No login required A

I'm Not A Bot #Left_TG 245 Jan 01, 2023
A Flask & Twilio Secret Santa app.

🎄 ✨ Secret Santa Twilio ✨ 📱 A contactless Secret Santa game built with Python, Flask and Twilio! Prerequisites 📝 A Twilio account. Sign up here ngr

Sangeeta Jadoonanan 5 Dec 23, 2021
Script que realiza a identificação de todos os logins e senhas dos wifis conectados em uma máquina e envia os dados para um e-mail especificado.

getWIFIConnection Script que realiza a identificação de todos os logins e senhas dos wifis conectados em uma máquina e envia os dados para um e-mail e

Vinícius Azevedo 3 Nov 27, 2022