Choose your language / Escolha seu idioma / Elige tu idioma
- 🇧🇷 Português (Brasil)
- 🇺🇸 English
- 🇪🇸 Español
O CronoCapilar é o projeto principal e mais completo deste repositório, demonstrando uma aplicação Web3 completa integrada com a blockchain Sui.
🌐 Aplicação Online: https://bootcamp-sui.vercel.app
⚠️ Disclaimer: Este site é apenas para apresentação final do Bootcamp Sui. Não é um produto comercial.
CronoCapilar é uma aplicação Web3 que transforma a rotina de cuidados capilares em prova on-chain de autocuidado na blockchain Sui. O projeto integra:
- Frontend: Next.js com TypeScript
- Blockchain: Sui Move smart contracts
- Carteiras: Integração com Sui Wallet e Phantom
- Internacionalização: Suporte para Português, Inglês e Espanhol
- ✅ Perfil de cuidados capilares on-chain
- ✅ Registro de tratamentos capilares (Hidratação, Nutrição, Reconstrução)
- ✅ Timeline de eventos capilares (Big Chop, Cortes, Colorações)
- ✅ Sistema de check-in diário
- ✅ Estatísticas e acompanhamento de progresso
- ✅ Armazenamento descentralizado na blockchain Sui
- ✅ Carregamento automático de dados on-chain
- ✅ Detecção dinâmica de rede (Mainnet/Testnet/Devnet)
- ✅ Atualização automática a cada 30 minutos
- ✅ Interface multilíngue (PT-BR, EN-US, ES-ES)
O projeto está localizado em: cronocapilar-sui-final/
Este projeto é uma apresentação final do Bootcamp Sui. Não é um produto comercial. O CronoCapilar está deployado e funcional, mas foi desenvolvido para fins educacionais e de demonstração.
- 🌐 Aplicação Online - CronoCapilar
- 📄 Checklist de Implementação
- 📦 Package.json
- 🔗 Sui Blockchain
- 🎓 Sui Move Bootcamp Brasil
This repository contains challenges and projects developed during the Sui MOVE Bootcamp Brasil. Each challenge demonstrates different concepts and functionalities of the Move language on the Sui platform.
- Name: Sui MOVE Bootcamp Brasil
- Period: November 3rd to 17th
- Format: Online classes
- Level: Beginner to Intermediate
- Schedule: 7 PM to 8 PM (Brazil time)
- Certification: Official Sui Developer Certificate
- Flexibility: Recorded classes, you can watch at your own pace
Organizers:
- Sui
- WayLearn
- ParaBuilders
Registration: luma.com/wxsj6hjy
Cleverson Silva
Repository: GitHub - SilvaCleverson/bootcampSui
This repository includes a one-click installer that automatically sets up your entire development environment in minutes!
Navigate to the sui-one-click-installer/ folder in this repository.
-
Open the installer folder:
cd bootcampSui\sui-one-click-installer
-
Run the installer:
- Right-click on
Install Sui (run as administrator).bat - Select "Run as administrator"
- Or simply double-click (the script will request permissions automatically)
- Right-click on
-
Wait for installation (5-10 minutes depending on your internet speed)
-
Verify installation:
- Open a NEW PowerShell window (important: close and reopen)
- Run:
sui --version git --version code --version
✅ Chocolatey - Package manager for Windows
✅ Sui CLI - Latest version (command-line tool for Sui blockchain)
✅ Git - Version control system
✅ Visual Studio Code - Code editor
✅ VS Code Extensions:
- Prettier Move (code formatting)
- Sui Move (syntax highlighting and IntelliSense)
- Move Syntax (additional syntax support)
✅ Sui First Steps Project - Downloaded and extracted toC:\bootcampSui
- Project:
C:\bootcampSui(orC:\bootcampSui_YYYYMMDD_HHMMSS_FFFif folder exists) - Log file:
installation_sui.log(in the same folder as the installer script)
- Run as administrator - Required for installing software
- Close and reopen terminal - After installation, open a new PowerShell to use commands
- Check log file - If something fails, check
installation_sui.logfor details
For complete step-by-step instructions, see:
- 📄
sui-one-click-installer/README.txt(English) - 🇧🇷 Português (Brasil) - Complete guide with ADVPL comparisons
- 🇺🇸 English - Full documentation
- 🇪🇸 Español - Documentación completa
Se você é desenvolvedor ADVPL/Protheus e está começando com Move, este repositório foi criado especialmente para facilitar sua transição!
O arquivo docs/README.pt.md contém uma seção completa com comparações detalhadas entre ADVPL e Move, incluindo:
- ✅ Tabela de comparação ADVPL ↔ Move
- ✅ Explicação de conceitos principais
- ✅ Exemplos práticos de migração
- ✅ Dicas específicas para desenvolvedores ADVPL
| ADVPL | Move | Observação |
|---|---|---|
| Funções | ||
User Function |
#[test] fun |
Função executável/testável |
Static Function |
fun |
Função auxiliar/helper |
Public Function |
public fun |
Função pública do módulo |
Public Entry Function |
public entry fun |
Função de entrada para transações |
| Estruturas de Controle | ||
While ... EndDo |
while { } |
Laço de repetição |
If ... EndIf |
if { } |
Condicional |
| Estruturas de Dados | ||
aStruct := {cCampo1, cCampo2} |
struct Nome { campo1: Tipo, campo2: Tipo } |
Definição de estrutura |
aStruct.cCampo1 |
struct.campo1 |
Acesso a campo |
aStruct := {cCampo1 := "valor"} |
Struct { campo1: valor } |
Criação de instância |
| Abilities (Capacidades) | ||
| - | has key |
Objeto pode ser identificado na blockchain |
| - | has store |
Objeto pode ser armazenado/transferido |
| - | has drop |
Objeto pode ser descartado |
| - | has copy |
Objeto pode ser copiado |
| Referências | ||
| Passagem por valor | & (referência imutável) |
Leitura sem modificar |
@ (passagem por referência) |
&mut (referência mutável) |
Permite modificação |
| Tipos de Dados | ||
cTexto := "Hello" |
vector<u8> + utf8() |
String (vetor de bytes) |
nNumero := 10 |
u64, u32, u8 |
Números inteiros sem sinal |
lLogico := .T. |
bool (true/false) |
Booleano |
aArray := {} |
vector<Tipo> |
Array/Vetor |
| Outros | ||
ConOut() |
print() |
Saída no console |
#Define CONST 0 |
const CONST: u64 = 0 |
Constante |
#Include |
use |
Importar bibliotecas |
Local |
let |
Variável local |
| - | UID |
Identificador único de objeto |
| - | TxContext |
Contexto da transação |
| - | address |
Endereço na blockchain |
Em Move, structs são como estruturas em ADVPL, mas com capacidades especiais:
// Move: Struct com abilities key e store (pode ser objeto na blockchain)
struct Profile has key, store {
id: UID,
hair_type: vector<u8>,
owner: address,
}
// Criar instância
let profile = Profile {
id: object::new(ctx),
hair_type: b"liso",
owner: sender,
};Equivalente em ADVPL:
// ADVPL: Estrutura simples
Local aProfile := {;
"id" => "",
"cHairType" => "liso",
"cOwner" => ""
}Este bootcamp foi desenvolvido por um desenvolvedor que migrou de ADVPL para Move, então as explicações são pensadas especialmente para quem vem dessa base!
👉 Acesse o guia completo: docs/README.pt.md
If you prefer to install manually or are not on Windows, see the detailed guides:
- 🇧🇷 Português (Brasil)
- 🇺🇸 English
- 🇪🇸 Español
cd bootcampSui
sui move testbootcampSui/
├── Move.toml # Move package configuration
├── README.md # This file (main index)
├── .gitignore # Git ignored files
├── docs/ # Documentation files
│ ├── README.pt.md # Portuguese version
│ ├── README.en.md # English version
│ └── README.es.md # Spanish version
├── cronocapilar-sui-final/ # 🌟 PROJETO PRINCIPAL - CronoCapilar (Em Desenvolvimento)
│ ├── app/ # Next.js app directory
│ ├── components/ # React components
│ ├── lib/ # Utilities and providers
│ ├── contracts/ # Smart contracts
│ ├── public/ # Static assets
│ └── CHECKLIST_SUI.md # Checklist de implementação
├── sui-one-click-installer/ # Automatic installation scripts
│ ├── Install Sui (run as administrator).bat # Main installer (Windows)
│ ├── script_sui.ps1 # PowerShell installation script
│ └── README.txt # Installer instructions
└── sources/
└── desafios/ # Challenges folder
├── cronocapilar.move # Smart contract do CronoCapilar
├── desafio_logo.move # Challenge 01: ASCII Logo
├── desafio_contador.move # Challenge 02: Counter
├── desafio_lista_tarefas.move # Challenge 03: Todo List
└── ... # More challenges will be added here
File: sources/desafios/desafio_logo.move
Objective: Print the Sui ASCII logo using helper functions and loops.
Concepts Demonstrated:
- Helper functions
- Loops (
while) - Byte vectors
- Unit tests
How to run:
cd bootcampSui
sui move test desafio_logoExpected Result: The command prints the complete Sui ASCII logo in the console.
File: sources/desafios/desafio_contador.move
Objective: Implement various counter functions using loops and conditional logic.
Concepts Demonstrated:
- Loops (
while) - Variable reassignment
- Function parameters
- Multiple counter implementations:
- Count from 1 to N
- Count from start to end
- Countdown (regressive)
- Count with custom interval
- Count with custom message
How to run:
cd bootcampSui
sui move test desafio_contadorExpected Result: The command executes all counter functions and displays the counting results in the console.
File: sources/desafios/desafio_lista_tarefas.move
Objective: Implement a Todo List smart contract with CRUD operations (Create, Read, Update, Delete).
Concepts Demonstrated:
- Structs with
keyandstoreabilities - Object creation and transfer
- Mutable references (
&mut) - Vector operations
- Entry functions for blockchain interaction
- Error handling with
abort
Functions:
new()- Create a new empty todo listadicionar_tarefa()- Add a task to the listremover_tarefa()- Remove a task by indexalterar_tarefa()- Update a task by indexquantidade_tarefas()- Get the number of tasksobter_tarefa()- Get a task by indexlistar_tarefas()- List all tasks (for debugging)limpar_tarefas()- Clear all tasks
How to test:
cd bootcampSui
sui move test desafio_lista_tarefasHow to publish:
cd bootcampSui
sui client publishHow to use (after publishing):
# Create a new todo list
sui client call --package <PACKAGE_ID> --module desafio_lista_tarefas --function new --gas-budget 100000000
# Add a task
sui client call --package <PACKAGE_ID> --module desafio_lista_tarefas --function adicionar_tarefa --args <LIST_OBJECT_ID> "My task" --gas-budget 100000000
# Update a task (index 0)
sui client call --package <PACKAGE_ID> --module desafio_lista_tarefas --function alterar_tarefa --args <LIST_OBJECT_ID> 0 "Updated task" --gas-budget 100000000
# Remove a task (index 0)
sui client call --package <PACKAGE_ID> --module desafio_lista_tarefas --function remover_tarefa --args <LIST_OBJECT_ID> 0 --gas-budget 100000000Expected Result: The tests demonstrate all CRUD operations on a todo list stored on the Sui blockchain.
More challenges will be added as the bootcamp progresses.
- Language: Move (Sui)
- Platform: Sui Blockchain
- CLI: Sui CLI
- Editor: VS Code (recommended)
This project is part of the Sui Move Bootcamp and is used for educational purposes.
Developed with ❤️ by Cleverson Silva
Sui Move Bootcamp - Nov 2025