
Nesse vídeo iniciamos uma série onde iremos desenvolver um TODO, que é uma anotação para fazer ou marcar tarefas pendentes.
Vamos fazer isso com Crow C++ que é um framework web, além disso vamos usar algumas outras tecnologias como: MySQL e TailwindCSS.
Se você está no Windows ou qualquer sistema similar a UNIX, como distribuições GNU/Linux, nós possuímos links que podem lhe guiar a preparar o seu ambiente para seguir essa série. Dentre eles:
Após consultar os links vc verá que é possível usar o Crow C++ diretamente sem ser pelo Apache, ou se quiser, principalmente quando for fazer deploy em servidores na nuvem ou VPS, tais como AWS, Heroku e entre outros.
Você pode integrar o Crow ao Apache, para isso veja esse link:
main.cpp
#include <crow.h>
int main(){
crow::SimpleApp app;
CROW_ROUTE(app, "/")([](){
const std::string title = "Crow C++, MySQL, TaildwindCSS";
auto page = crow::mustache::load("index.html");
crow::mustache::context ctx(title);
return page.render(ctx);
});
CROW_ROUTE(app, "/login")([](){
const std::string name = "Marcos Oliveira";
auto page = crow::mustache::load("login.html");
crow::mustache::context ctx(name);
return page.render(ctx);
});
app.port(18080).multithreaded().run();
}
templates/login.html
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<link href="/crow/static/css/style.css" rel="stylesheet">
</head>
<body>
<form action="/crow/login" method="POST">
<label for="mid">ID:</label><br>
<input type="text" name="mid" id="mid"><br><br>
<label for="mpass">Senha:</label><br>
<input type="password" name="mpass" id="mpass"><br><br>
<input type="submit" name="mlogar" value="Logar">
</form>
<br>
<a href="/crow">Deslogar</a>
</body>
</html>
templates/index.html
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<link href="/crow/static/css/style.css" rel="stylesheet">
</head>
<body>
<h1>Todo++</h1>
<a href="/crow/login">Logar</a>
</body>
</html>
static/css/style.css
h1 { color: purple; }Compilar e restartar o servidor:
g++ main.cpp && sudo pkill -f "a.out"Até o próximo capítulo!
crow cpp desenvolvimentoweb web