added JenkinsFile
This commit is contained in:
+26
@@ -0,0 +1,26 @@
|
||||
pipeline {
|
||||
agent { label 'Ubuntu18-openjdk1.8'}
|
||||
|
||||
environment {
|
||||
CI = 'true'
|
||||
}
|
||||
stages {
|
||||
stage('Build') {
|
||||
steps {
|
||||
sh 'npm install'
|
||||
}
|
||||
}
|
||||
stage('Test') {
|
||||
steps {
|
||||
sh './jenkins/scripts/test.sh'
|
||||
}
|
||||
}
|
||||
stage('Deliver') {
|
||||
steps {
|
||||
sh './jenkins/scripts/deliver.sh'
|
||||
input message: 'Finished using the web site? (Click "Proceed" to continue)'
|
||||
sh './jenkins/scripts/kill.sh'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+31
@@ -14,6 +14,7 @@
|
||||
"@testing-library/jest-dom": "^5.11.4",
|
||||
"@testing-library/react": "^11.1.0",
|
||||
"@testing-library/user-event": "^12.1.10",
|
||||
"aos": "^3.0.0-beta.6",
|
||||
"font-awesome": "^4.7.0",
|
||||
"mdbreact": "^5.1.0",
|
||||
"node-sass": "^4.14.1",
|
||||
@@ -4135,6 +4136,16 @@
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/aos": {
|
||||
"version": "3.0.0-beta.6",
|
||||
"resolved": "https://registry.npmjs.org/aos/-/aos-3.0.0-beta.6.tgz",
|
||||
"integrity": "sha512-VLWrpq8bfAWcetynVHMMrqdC+89Qq/Ym6UBJbHB4crIwp3RR8uq1dNGgsFzoDl03S43rlVMK+na3r5+oUCZsYw==",
|
||||
"dependencies": {
|
||||
"classlist-polyfill": "^1.2.0",
|
||||
"lodash.debounce": "^4.0.8",
|
||||
"lodash.throttle": "^4.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/aproba": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
||||
@@ -5856,6 +5867,11 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/classlist-polyfill": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz",
|
||||
"integrity": "sha1-k1vC39lFiodrJ5YXUUY4vKqWSi4="
|
||||
},
|
||||
"node_modules/classnames": {
|
||||
"version": "2.2.6",
|
||||
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
|
||||
@@ -26951,6 +26967,16 @@
|
||||
"picomatch": "^2.0.4"
|
||||
}
|
||||
},
|
||||
"aos": {
|
||||
"version": "3.0.0-beta.6",
|
||||
"resolved": "https://registry.npmjs.org/aos/-/aos-3.0.0-beta.6.tgz",
|
||||
"integrity": "sha512-VLWrpq8bfAWcetynVHMMrqdC+89Qq/Ym6UBJbHB4crIwp3RR8uq1dNGgsFzoDl03S43rlVMK+na3r5+oUCZsYw==",
|
||||
"requires": {
|
||||
"classlist-polyfill": "^1.2.0",
|
||||
"lodash.debounce": "^4.0.8",
|
||||
"lodash.throttle": "^4.1.1"
|
||||
}
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
||||
@@ -28356,6 +28382,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"classlist-polyfill": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz",
|
||||
"integrity": "sha1-k1vC39lFiodrJ5YXUUY4vKqWSi4="
|
||||
},
|
||||
"classnames": {
|
||||
"version": "2.2.6",
|
||||
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
"@testing-library/jest-dom": "^5.11.4",
|
||||
"@testing-library/react": "^11.1.0",
|
||||
"@testing-library/user-event": "^12.1.10",
|
||||
"aos": "^3.0.0-beta.6",
|
||||
"font-awesome": "^4.7.0",
|
||||
"mdbreact": "^5.1.0",
|
||||
"node-sass": "^4.14.1",
|
||||
|
||||
+16
-2
@@ -46,6 +46,7 @@ header {
|
||||
position: relative;
|
||||
font-family: Lato;
|
||||
margin-left: 30px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
header div {
|
||||
@@ -101,9 +102,11 @@ main {
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: white;
|
||||
font-size: 45px;
|
||||
margin-bottom: 120px;
|
||||
margin-bottom: 100px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
h3 {
|
||||
@@ -119,7 +122,7 @@ h3 {
|
||||
.service-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
margin: 40px 0px 180px 0px;
|
||||
position: relative;
|
||||
@@ -135,7 +138,15 @@ h3 {
|
||||
-webkit-box-shadow: 0px 0px 53px rgba(0, 0, 0, 0.75);
|
||||
-moz-box-shadow: 0pc 0px 53px -19px rgba(0, 0, 0, 0.75);
|
||||
box-shadow: 0px 0px 52px -19px rgba(0, 0, 0, 0.75);
|
||||
|
||||
/* transform: translateX(-100%);
|
||||
-webkit-transform: translateX(-100%);
|
||||
animation: slide-in 0.5s forwards;
|
||||
-webkit-animation: slide-in 0.5s forwards; */
|
||||
}
|
||||
/* @keyframes slide-in {
|
||||
100% { transform: translateX(0%); }
|
||||
} */
|
||||
|
||||
.service-description{
|
||||
width: 48%;
|
||||
@@ -145,6 +156,9 @@ h3 {
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
|
||||
margin-bottom: 280px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.newsletter * {
|
||||
|
||||
@@ -4,11 +4,11 @@ html{
|
||||
background: linear-gradient(300deg,#1a4974,#0b3965,#1b63a9);
|
||||
background-size: 180% 180%;
|
||||
animation: gradient-animation 15s ease infinite;
|
||||
color: white;
|
||||
}
|
||||
|
||||
body {
|
||||
margin:0;
|
||||
|
||||
padding: 0px;
|
||||
font-family: Lato;
|
||||
-webkit-font-smoothing: antialised;
|
||||
|
||||
@@ -11,7 +11,7 @@ const options = [
|
||||
|
||||
function BetaForm() {
|
||||
return(
|
||||
<div className="main">
|
||||
<div data-aos="fade-up" className="main">
|
||||
<div className="center">
|
||||
<div className="menu">
|
||||
<div className="logo">
|
||||
|
||||
@@ -12,18 +12,30 @@ const Contact = () => {
|
||||
|
||||
const [title, setTitle] = useState("");
|
||||
const [content, setContent] = useState("");
|
||||
const[contactEmail, setContactEmail] = useStates("");
|
||||
const[contactEmail, setContactEmail] = useState("");
|
||||
|
||||
const sendEmail = async() => {
|
||||
e.preventDefault();
|
||||
console.log("sending email");
|
||||
}
|
||||
|
||||
|
||||
return(
|
||||
<React.Fragment>
|
||||
<button className="back" onClick={goback}> ← Go Back</button>
|
||||
<button className="back" onClick={goBack}> ← Go Back</button>
|
||||
<form className="contact" onSubmit={sendEmail}>
|
||||
<h2> Envie uma mensagem para ajudar-nos a construir o melhor software gerenciador de Bibliotecas</h2>
|
||||
|
||||
<label htmlFor="title"> Message Title: </label>
|
||||
<input type="text" name="title" onChange={(e) => setTitle(e.target.value)} />
|
||||
|
||||
<label htmlFor="content">Message Content: </label>
|
||||
<textarea name="content" onChange={(e) => setContent(e.target.value)} />
|
||||
|
||||
<label htmlFor="email">Contact Email: </label>
|
||||
<input type="email" name="email" onChange={(e) => setContactEmail(e.target.value)} />
|
||||
|
||||
<input type="submit" value="Send Message" />>
|
||||
</form>
|
||||
</React.Fragment>
|
||||
)
|
||||
@@ -31,3 +43,5 @@ const Contact = () => {
|
||||
|
||||
|
||||
}
|
||||
|
||||
export default Contact;
|
||||
|
||||
+25
-16
@@ -3,7 +3,13 @@ import Template from "../assets/images/Template1.svg";
|
||||
import { Link, useHistory } from "react-router-dom";
|
||||
import "../assets/css/Main.css";
|
||||
|
||||
import AOS from 'aos';
|
||||
import 'aos/dist/aos.css';
|
||||
|
||||
const Main = () => {
|
||||
AOS.init({ duration: 2000});
|
||||
|
||||
|
||||
|
||||
const [joined, setJoined] = useState("");
|
||||
const history = useHistory();
|
||||
@@ -19,47 +25,50 @@ const Main = () => {
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
<React.Fragment>
|
||||
|
||||
<header>
|
||||
|
||||
<img src={Template} />
|
||||
<div>
|
||||
<h1>Estamos Produzindo Software <br />Gerenciador de Bibliotecas: </h1>
|
||||
<p> Librography é um gerenciador para Bibliotecas e colecões particulares de Livros</p>
|
||||
<Link to="/subscribe">Fique por dentro!</Link>
|
||||
<div data-aos="fade-right">
|
||||
<h1>Estamos Produzindo o <br />Melhor Software <br />Gerenciador de Bibliotecas </h1>
|
||||
<p> Librography é um gerenciador completo para bibliotecas e pode ser usado grátis para colecões particulares de livros e pequenas bibliotecas com ate 3 mil volumes.</p>
|
||||
<Link to="/contact">Contato</Link>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<section className="services">
|
||||
<h2>Serviços</h2>
|
||||
<h2>Recursos</h2>
|
||||
|
||||
<div className="service-container">
|
||||
<div className="service-card service-one"></div>
|
||||
<div className="service-description">
|
||||
<div data-aos="slide-right" className="service-card service-one"></div>
|
||||
<div data-aos="slide-left"className="service-description">
|
||||
<h3>Gerenciamento avançado</h3>
|
||||
<div>* Controle de Funcionários com diversos níveis de acesso: Administrador, Atendente, Manutençao, Pesquisador.<br /> * Cadastro de estudantes e Professores. <br /> * Suporte a capas de Libros. <br /> * Consulta por Nome, ISBN, Autor, etc.<br /> * Recurso de localização do local do livro no Bibliotace(Piso, Corredor, Seção, Estante).<br /> * Suporte integrado para confecção de cartão/crachá de Estudante ou Professor. <br /> * Impressão de tickets e multas por atraso. <br /> * Suporte a leitor de código barras(ISBN) e QrCodes(Tickets de empréstimo)<br /> * Exportação de dados para planilhas .Xlsx.<br /> * 3 Modos disponíveis: Cliente/Servidor/Qiosque de consulta<br /> * Cadastro de Fornecedores.<br /> * Integração para registro ISBN*.<br /> * Suporte a protocolo Z39.50</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="service-container">
|
||||
<div className="service-card service-two"></div>
|
||||
<div className="service-description">
|
||||
<div data-aos="slide-right" className="service-card service-two"></div>
|
||||
<div data-aos="slide-left" className="service-description">
|
||||
<h3>Interface Intuitiva</h3>
|
||||
<div>bla vblal lblxlvsl lsdlf sldflsdl sdlf osdf lsd flslssdflsdfls flsd flsd f</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="service-container">
|
||||
<div className="service-card service-three"></div>
|
||||
<div className="service-description">
|
||||
<div data-aos="slide-right" className="service-card service-three"></div>
|
||||
<div data-aos="slide-left" className="service-description">
|
||||
<h3>Interface Intuitiva</h3>
|
||||
<div>bla vblal lblxlvsl lsdlf sldflsdl sdlf osdf lsd flslssdflsdfls flsd flsd f</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="service-container">
|
||||
<div className="service-card service-four"></div>
|
||||
<div className="service-description">
|
||||
<div data-aos="slide-right" className="service-card service-four"></div>
|
||||
<div data-aos="slide-left" className="service-description">
|
||||
<h3>Interface Intuitiva</h3>
|
||||
<div>* Temas Light/Dark<br /> * Consulta intuitiva de histórico<br /> *</div>
|
||||
</div>
|
||||
@@ -67,11 +76,11 @@ const Main = () => {
|
||||
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Join our NewsLetter to get latest trends.</h2>
|
||||
<section data-aos="slide-up">
|
||||
<h2>Receba as novidades sobre nosso produtos direto em seu email.</h2>
|
||||
|
||||
<form className="newsletter" onSubmit={join}>
|
||||
<input type="email" placeholder="Your Email gos here" onChange={(e) => setJoined(e.target.value)} />
|
||||
<input type="email" placeholder="Insira seu email" onChange={(e) => setJoined(e.target.value)} />
|
||||
<input type="submit" value="Join Now!" />
|
||||
|
||||
</ form>
|
||||
|
||||
@@ -2688,6 +2688,15 @@
|
||||
"normalize-path" "^3.0.0"
|
||||
"picomatch" "^2.0.4"
|
||||
|
||||
"aos@^3.0.0-beta.6":
|
||||
"integrity" "sha512-VLWrpq8bfAWcetynVHMMrqdC+89Qq/Ym6UBJbHB4crIwp3RR8uq1dNGgsFzoDl03S43rlVMK+na3r5+oUCZsYw=="
|
||||
"resolved" "https://registry.npmjs.org/aos/-/aos-3.0.0-beta.6.tgz"
|
||||
"version" "3.0.0-beta.6"
|
||||
dependencies:
|
||||
"classlist-polyfill" "^1.2.0"
|
||||
"lodash.debounce" "^4.0.8"
|
||||
"lodash.throttle" "^4.1.1"
|
||||
|
||||
"aproba@^1.0.3", "aproba@^1.1.1":
|
||||
"integrity" "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
|
||||
"resolved" "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz"
|
||||
@@ -3795,6 +3804,11 @@
|
||||
"isobject" "^3.0.0"
|
||||
"static-extend" "^0.1.1"
|
||||
|
||||
"classlist-polyfill@^1.2.0":
|
||||
"integrity" "sha1-k1vC39lFiodrJ5YXUUY4vKqWSi4="
|
||||
"resolved" "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz"
|
||||
"version" "1.2.0"
|
||||
|
||||
"classnames@^2.2.5", "classnames@^2.2.6", "classnames@2.2.6":
|
||||
"integrity" "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
|
||||
"resolved" "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz"
|
||||
|
||||
Reference in New Issue
Block a user