Commit fccab53e by 2024105070020

Implementação da página de empresas e melhorias no sistema

parent 472b7ae3
...@@ -4,27 +4,31 @@ import os ...@@ -4,27 +4,31 @@ import os
app = Flask(__name__) app = Flask(__name__)
# Caminho do banco
basedir = os.path.abspath(os.path.dirname(__file__)) basedir = os.path.abspath(os.path.dirname(__file__))
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'database.db') app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'database.db')
db = SQLAlchemy(app) db = SQLAlchemy(app)
# Tabela do EmpregaMais
class Curriculo(db.Model): class Curriculo(db.Model):
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
nome = db.Column(db.String(100)) nome = db.Column(db.String(100))
email = db.Column(db.String(100)) email = db.Column(db.String(100))
telefone = db.Column(db.String(20)) telefone = db.Column(db.String(20))
cidade = db.Column(db.String(100)) cidade = db.Column(db.String(100))
experiencia = db.Column(db.String(200)) experiencia = db.Column(db.String(200))
@app.route('/') @app.route('/')
def index(): def index():
curriculos = Curriculo.query.all() curriculos = Curriculo.query.all()
return render_template('index.html', curriculos=curriculos) return render_template('index.html', curriculos=curriculos)
@app.route('/cadastro', methods=['GET', 'POST']) @app.route('/cadastro', methods=['GET', 'POST'])
def cadastro(): def cadastro():
...@@ -45,6 +49,29 @@ def cadastro(): ...@@ -45,6 +49,29 @@ def cadastro():
return render_template('cadastro.html') return render_template('cadastro.html')
@app.route('/empresas')
def empresas():
vagas = [
{
'empresa': 'Google',
'vaga': 'Desenvolvedor Python',
'cidade': 'São Paulo',
'salario': 'R$ 8.000'
},
{
'empresa': 'Microsoft',
'vaga': 'Frontend Developer',
'cidade': 'Rio de Janeiro',
'salario': 'R$ 6.500'
}
]
return render_template('empresas.html', vagas=vagas)
if __name__ == '__main__': if __name__ == '__main__':
with app.app_context(): with app.app_context():
......
...@@ -2,38 +2,59 @@ ...@@ -2,38 +2,59 @@
<html> <html>
<head> <head>
<title>Cadastro</title> <title>Cadastro</title>
<link rel="stylesheet"
href="{{ url_for('static', filename='style.css') }}">
</head> </head>
<body> <body>
<div class="navbar">
<div class="logo">
EmpregaMais
</div>
<div class="menu">
<a href="/">Home</a>
<a href="/empresas">Empresas</a>
</div>
</div>
<div class="container">
<div class="card">
<h1>Novo Currículo</h1> <h1>Novo Currículo</h1>
<br>
<form method="POST"> <form method="POST">
Nome: <label>Nome</label>
<input type="text" name="nome" required> <input type="text" name="nome" required>
<br><br>
Email: <label>Email</label>
<input type="email" name="email" required> <input type="email" name="email" required>
<br><br>
Telefone: <label>Telefone</label>
<input type="text" name="telefone" required> <input type="text" name="telefone" required>
<br><br>
Cidade: <label>Cidade</label>
<input type="text" name="cidade" required> <input type="text" name="cidade" required>
<br><br>
Experiência: <label>Experiência</label>
<input type="text" name="experiencia" required> <input type="text" name="experiencia" required>
<br><br>
<button type="submit"> <button type="submit">
Salvar Salvar Currículo
</button> </button>
</form> </form>
</div>
</div>
</body> </body>
</html> </html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<title>Empresas</title>
<link rel="stylesheet"
href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
<div class="navbar">
<div class="logo">
EmpregaMais
</div>
<div class="menu">
<a href="/">Home</a>
<a href="/cadastro">Cadastrar</a>
</div>
</div>
<div class="hero">
<h1>Empresas Contratando</h1>
<p>
Confira vagas disponíveis agora.
</p>
</div>
<div class="container">
<div class="vagas-grid">
{% for vaga in vagas %}
<div class="vaga-card">
<h2>{{ vaga.empresa }}</h2>
<p><strong>Vaga:</strong> {{ vaga.vaga }}</p>
<p><strong>Cidade:</strong> {{ vaga.cidade }}</p>
<p><strong>Salário:</strong> {{ vaga.salario }}</p>
<br>
<button>
Candidatar-se
</button>
</div>
{% endfor %}
</div>
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>EmpregaMais</title> <title>EmpregaMais</title>
<link rel="stylesheet"
href="{{ url_for('static', filename='style.css') }}">
</head> </head>
<body> <body>
<h1>Currículos Cadastrados</h1> <div class="navbar">
<a href="/cadastro"> <div class="logo">
<button>Novo Currículo</button> EmpregaMais
</a> </div>
<div class="menu">
<a href="/">Home</a>
<a href="/cadastro">Cadastrar</a>
<a href="/empresas">Empresas</a>
</div>
<table border="1" style="margin-top:10px"> </div>
<tr> <div class="hero">
<th>Nome</th>
<th>Email</th>
<th>Telefone</th>
<th>Cidade</th>
<th>Experiência</th>
</tr>
{% for c in curriculos %} <div class="hero-content">
<tr>
<td>{{ c.nome }}</td>
<td>{{ c.email }}</td>
<td>{{ c.telefone }}</td>
<td>{{ c.cidade }}</td>
<td>{{ c.experiencia }}</td>
</tr>
{% endfor %}
</table> <h1>
Conectando Pessoas ao Futuro
</h1>
<p>
Plataforma moderna para currículos e vagas de emprego.
</p>
<a href="/cadastro">
<button>
Criar Currículo
</button>
</a>
</div>
</div>
</body> </body>
</html> </html>
\ No newline at end of file
*{
margin:0;
padding:0;
box-sizing:border-box;
}
body{
font-family:Arial;
background:#0f172a;
}
.navbar{
width:100%;
padding:20px 8%;
background:#0f172a;
display:flex;
justify-content:space-between;
align-items:center;
}
.logo{
color:#38bdf8;
font-size:32px;
font-weight:bold;
}
.menu a{
color:white;
text-decoration:none;
margin-left:20px;
}
.hero{
height:90vh;
background:
linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)),
url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?q=80&w=2070&auto=format&fit=crop');
background-size:cover;
background-position:center;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
color:white;
}
.hero-content h1{
font-size:70px;
margin-bottom:20px;
}
.hero-content p{
font-size:22px;
margin-bottom:30px;
}
button{
padding:15px 30px;
border:none;
border-radius:10px;
background:#38bdf8;
font-size:18px;
font-weight:bold;
cursor:pointer;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment