Executando verificação de segurança...
2

YProjects Manager

Introdução

O YProjects Manager, ou Gerenciador de YProjetos, é uma ferramenta inspirada na npm, ela cria projetos web e projetos python (voltados para uso e execução em terminal), eu gosto da ypg por que ela tem uma capacidade de melhoria muito alta, tem inclusão de algumas libs próprias criadas pelo desenvolvedor para uso pessoal, porém ele já publicou essas libs no pypi para uso aberto

Funcionalidades

Por enquanto, o(a) ypg (não sei o pronome da ferramenta) consegue criar projetos web simples com a seguinte estrutura:

mindmap
      Projeto
              server.py
              README.md
              index.html
              Diretório assets
                tailwind.config.js
                app.tsx
                global.css

e projetos python voltados a uso em terminal

(segundo o criador do ypg, essa opção servia para desenvolvimentos de ferramentas para hacking e atividades não tão legalizadas)

tais projetos em python podem ser um pouco mais complexos, pois contavam com uma série de ferramentas pré-prontas que o dev chamou de prmTools (pre-made tools).
A estrutura de um projeto py usando a ypg se parece com isso:

mindmap
      Projeto
          main.py
          README.md
          Diretório misc
              loading.py
              tools.py
              update.py

Usos

Como já mencionado anteriormente, o YProjects Manager poderia ser usado para criar projetos web que seram melhor detalhados abaixo, e projetos python que também serão explicados com maior profundidade abaixo

Web

Os projetos web seguem uma estrutura não muito complexa, eles ultilizam tailwindCSS como framework css e react como framework TS (o criador decidiu usar TypeScript ao inves de JavaScript porque ele não gostava de JS)

A seguir deixarei o código que vem por padrão no projeto

index.html

<!DOCTYPE html>
<html>
<head>
    <title>YProjs Generator</title>
    <link rel="stylesheet" href="assets/global.css">
    <script src="https://cdn.tailwindcss.com"></script>
    <script src="assets/tailwind.config.js"></script>
</head>
<body class="bg-zinc-950">
</body>
</html>

README.md

# YPG

> YProjects Gerenciator

## How to use

clone the repo or download the project zip archive

go to the directory where ypg has been install

in windows and linux: `python ypg.py --[project-type] -n [name]`

the final project will appear in the `/output` directory

## Web Mode
to create the web project, run ```python ypg.py -w -n [name]``` or ```python ypg.py --web -n [name]```

to run the auto-included non-php server, run ```python server.py``` in terminal/cmd (on the project directory), and the server will start in <a href="http://localhost:5590">http://localhost:5590</a>

## Python terminal-side mode
to create the project, run ```python ypg.py -pt -n [name]``` or ```python ypg.py --python-terminal -n [name]```

to run the python terminal-side project, run ```python main.py``` in terminal/cmd (on the project directory), and the server will start

## LICENSE
You can use ypg for non-comercial projects and comercial use, its open for everyone, you can do what you wants
- no tax
- no limits
Welcome to the revenge

## Support
I'm the support, contact-me on discord or telegram

- discord: `solo.yyax`
- telegram: [Yyax13](https://t.me/Yyax13)




---

© 2023 Lucas de Moraes "Yyax" Claro

server.py

import http.server
import socketserver
import random
import os
os.system('pip install yollor')
from yollor import *

tagn1 = f"{c.cyan('[')}{c.yellow('1')}{c.cyan(']')}"
tagn2 = f"{c.cyan('[')}{c.yellow('2')}{c.cyan(']')}"
hashtag = f"{c.cyan('[')}{c.yellow('#')}{c.cyan(']')}"

class CustomHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
    def log_message(self, format, *args):
        request_info = f"{c.yellow('<--')} {c.yellow('|')} {c.cyan('Request Code')} {c.yellow('|')} {c.purple('IP')} {c.yellow('|')} {c.yellow('-->')}"
        
        request_line = f"{c.yellow('<--')} | {c.cyan(format % args)} | {c.green(self.headers.get('User-Agent', 'Unknown').split('(')[0].strip())} | {c.purple(self.client_address[0])} | {c.yellow('-->')}"
        print(request_line)


port = 5590

handler = CustomHTTPRequestHandler 

with socketserver.TCPServer(("", port), handler) as httpd:
    print(f"Servidor rodando em http://localhost:{port}")
    httpd.serve_forever()

app.tsx

// free for use
// https://github.com/Yyax13/ypg

// Insert your code here

global.css

@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities';

tailwind.config.js

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    './pages/**/*.{js,ts,jsx,tsx,mdx}',
    './components/**/*.{js,ts,jsx,tsx,mdx}',
    './app/**/*.{js,ts,jsx,tsx,mdx}',
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

Python

Os projetos ultilizando python seguem uma estrutura simples porém com varias funcionalidade, a seguir deixarei os códigos incluidos nos arquivos gerados pela ferramenta

main.py

from misc import update
update.pip(package="yollor") #Do not delete these lines, they are the requeriments installer for the prmTools

README.md

O README.md criado para projetos python é o mesmo que os projetos web criam

loading.py

import os
from yollor import *
import time as SurubaTemporal

frame1 = '|'
frame2 = '/'
frame3 = '-'
frame4 = "\ "

def start(texto, NV):
    def clear():
        os.system('cls' if os.name == 'nt' else 'clear')
    for i in range(NV):
        clear()
        print(f"{c.cyan(texto)} - {c.red(frame1)}")
        SurubaTemporal.sleep(0.3)
        clear()
        print(f"{c.cyan(texto)} - {c.red(frame2)}")
        SurubaTemporal.sleep(0.3)
        clear()
        print(f"{c.cyan(texto)} - {c.red(frame3)}")
        SurubaTemporal.sleep(0.3)
        clear()
        print(f"{c.cyan(texto)} - {c.red(frame4)}")
        SurubaTemporal.sleep(0.3)
        clear()

tools.py

import os
import yollor
import sys

def reset():
    python = sys.executable
    os.execl(python, python, *sys.argv)

def sair():
    sys.exit(os.system('cls' if os.name == 'nt' else 'clear'))

update.py

import os as MinT

from misc import loading as Carregante

def pip(package):
    Carregante.start(texto="Instalando as dependencias", NV=7)
    MinT.system(f'pip install {package} --user -q' if MinT.name == 'nt' else f'pip install {package} -q')
    MinT.system(f'pip install {package} -q' if MinT.name == 'nt' else f'pip install {package} --user -q')

Como ultilizar

Você pode ultilizar a ypg simplesmente indo nesse repo e seguindo as instruções

Sim, fui eu que criei a ypg e aproveito essa oportunidade de contato com vocês para pedir ajuda com melhorias e criação de novos tipos de projetos, um ponto que já gostaria de deixar em aberto é: como posso otimizar o install.sh para ele criar uma alias equivalente a do Linux no windows?

Conclusão

Com toda essa explicação podemos claramente ver o potencial da ypg como ferramenta e como projeto, uma alternativa "pobre" do npm, ela pode não ter um desempenho alto como outros gerenciadores que são parte de frameworks sólidos, mas eu ainda acredito que com ajuda poderemos desenvolver o melhor gerenciador de projetos

Obrigado


© Lucas de Moraes "Yyax" Claro

Carregando publicação patrocinada...