You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/meu-sistema-rifa
├── /public # Arquivos públicos (HTML, CSS, JS)
├── /routes # Rotas do backend (Node.js)
├── /views # Templates de páginas (se necessário)
├── /models # Modelos de banco de dados
├── server.js # Arquivo principal do servidor Node.js
└── package.json # Arquivo de dependências do Node.js
mkdir meu-sistema-rifa
cd meu-sistema-rifa
npm init -y
npm install express mysql body-parser
const express = require('express');
const bodyParser = require('body-parser');
const mysql = require('mysql');
const app = express();
app.use(bodyParser.json());
app.use(express.static('public')); // Para servir arquivos HTML, CSS e JS
// Configuração do banco de dados MySQL
const db = mysql.createConnection({
host: 'localhost',
user: 'root', // Mude para seu usuário
password: '', // Mude para sua senha
database: 'rifa_db'
});
db.connect((err) => {
if (err) throw err;
console.log('Conectado ao banco de dados MySQL');
});
const query = 'INSERT INTO bilhetes (nome, email, numero) VALUES (?, ?, ?)';
db.query(query, [nome, email, numeroBilhete], (err, result) => {
if (err) throw err;
res.send({ message: Bilhete comprado! Seu número é: ${numeroBilhete} });
});
});
// Rota para sortear um vencedor
app.get('/sortear', (req, res) => {
const query = 'SELECT * FROM bilhetes ORDER BY RAND() LIMIT 1';
db.query(query, (err, result) => {
if (err) throw err;
res.send({ message: O vencedor é: ${result[0].nome}, com o número ${result[0].numero} });
});
});
// Iniciar servidor
app.listen(3000, () => {
console.log('Servidor rodando na porta 3000');
});
CREATE DATABASE rifa_db;
USE rifa_db;
CREATE TABLE bilhetes (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
numero INT NOT NULL
);
document.getElementById('preco-bilhete').innerText = '10.00'; // Exemplo de preço
const valorBilhete = 10.00; // Valor fixo da rifa, você pode mudar isso dinamicamente depois
// Aqui você pode adicionar a lógica de pagamento, calculando o valor e integrando com o banco
const query = 'INSERT INTO bilhetes (nome, email, numero, valor) VALUES (?, ?, ?, ?)';
db.query(query, [nome, email, numeroBilhete, valorBilhete], (err, result) => {
if (err) throw err;
res.send({ message: Bilhete comprado por R$${valorBilhete}! Seu número é: ${numeroBilhete} });
});
});
ALTER TABLE bilhetes ADD COLUMN data_sorteio DATETIME;
const dataSorteio = '2024-12-25 18:00:00'; // Definir uma data fixa
/meu-sistema-rifa
├── /public # Arquivos públicos (HTML, CSS, JS)
├── /routes # Rotas do backend (Node.js)
├── /views # Templates de páginas (se necessário)
├── /models # Modelos de banco de dados
├── server.js # Arquivo principal do servidor Node.js
└── package.json # Arquivo de dependências do Node.js
mkdir meu-sistema-rifa
cd meu-sistema-rifa
npm init -y
npm install express mysql body-parser
const express = require('express');
const bodyParser = require('body-parser');
const mysql = require('mysql');
const app = express();
app.use(bodyParser.json());
app.use(express.static('public')); // Para servir arquivos HTML, CSS e JS
// Configuração do banco de dados MySQL
const db = mysql.createConnection({
host: 'localhost',
user: 'root', // Mude para seu usuário
password: '', // Mude para sua senha
database: 'rifa_db'
});
db.connect((err) => {
if (err) throw err;
console.log('Conectado ao banco de dados MySQL');
});
// Rota para comprar bilhete
app.post('/comprar', (req, res) => {
const { nome, email } = req.body;
const numeroBilhete = Math.floor(Math.random() * 1000) + 1;
const query = 'INSERT INTO bilhetes (nome, email, numero) VALUES (?, ?, ?)';
db.query(query, [nome, email, numeroBilhete], (err, result) => {
if (err) throw err;
res.send({ message:
Bilhete comprado! Seu número é: ${numeroBilhete}
});});
});
// Rota para sortear um vencedor
app.get('/sortear', (req, res) => {
const query = 'SELECT * FROM bilhetes ORDER BY RAND() LIMIT 1';
db.query(query, (err, result) => {
if (err) throw err;
res.send({ message:
O vencedor é: ${result[0].nome}, com o número ${result[0].numero}
});});
});
// Iniciar servidor
app.listen(3000, () => {
console.log('Servidor rodando na porta 3000');
});
CREATE DATABASE rifa_db;
USE rifa_db;
CREATE TABLE bilhetes (
<title>Rifa Online</title>id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
numero INT NOT NULL
);
Sistema de Rifa
Comprar Bilhete <script> document.getElementById('form-rifa').addEventListener('submit', async function(event) { event.preventDefault(); const nome = document.getElementById('nome').value; const email = document.getElementById('email').value; const response = await fetch('/comprar', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ nome, email }) }); const data = await response.json(); document.getElementById('resultado').innerText = data.message; }); </script> node server.js curl http://localhost:3000/sortearValor do bilhete: R$
document.getElementById('preco-bilhete').innerText = '10.00'; // Exemplo de preço const valorBilhete = 10.00; // Valor fixo da rifa, você pode mudar isso dinamicamente depoisapp.post('/comprar', (req, res) => {
const { nome, email } = req.body;
const numeroBilhete = Math.floor(Math.random() * 1000) + 1;
// Aqui você pode adicionar a lógica de pagamento, calculando o valor e integrando com o banco
const query = 'INSERT INTO bilhetes (nome, email, numero, valor) VALUES (?, ?, ?, ?)';
db.query(query, [nome, email, numeroBilhete, valorBilhete], (err, result) => {
if (err) throw err;
res.send({ message:
Bilhete comprado por R$${valorBilhete}! Seu número é: ${numeroBilhete}
});});
});
ALTER TABLE bilhetes ADD COLUMN data_sorteio DATETIME;
const dataSorteio = '2024-12-25 18:00:00'; // Definir uma data fixa
app.post('/comprar', (req, res) => {
const { nome, email } = req.body;
const numeroBilhete = Math.floor(Math.random() * 1000) + 1;
const query = 'INSERT INTO bilhetes (nome, email, numero, valor, data_sorteio) VALUES (?, ?, ?, ?, ?)';
db.query(query, [nome, email, numeroBilhete, valorBilhete, dataSorteio], (err, result) => {
if (err) throw err;
res.send({ message:
Bilhete comprado por R$${valorBilhete}! Sorteio em: ${dataSorteio}. Seu número é: ${numeroBilhete}
});});
});
O sorteio será realizado em:
<script> document.getElementById('data-sorteio').innerText = '25/12/2024 às 18:00'; </script>npm install stripe
const stripe = require('stripe')('sua-chave-secreta-do-stripe');
app.post('/pagamento', async (req, res) => {
const { valor } = req.body;
try {
const pagamento = await stripe.paymentIntents.create({
amount: valor * 100, // Valor em centavos
currency: 'brl',
payment_method_types: ['pix'],
});
res.send({ clientSecret: pagamento.client_secret });
} catch (err) {
res.status(500).send({ error: err.message });
}
});
The text was updated successfully, but these errors were encountered: