Skip to content

Commit

Permalink
Merge branch 'dev' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
GFWagnitz committed Jun 11, 2024
2 parents 41a5c87 + b728b81 commit d267733
Show file tree
Hide file tree
Showing 88 changed files with 2,729 additions and 16 deletions.
34 changes: 34 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Base Image: Use the official OpenJDK image with a specific Java version (adjust as needed)
FROM maven:3.9.7-amazoncorretto-21 AS build

# Environment Variables
ENV APP_HOME=/app
ENV PORT=8080

# Set Working Directory for Build
WORKDIR $APP_HOME

# Copy Project Files
COPY . .

# Build the Application using Maven
RUN mvn package -DskipTests


# Runtime Image
FROM amazoncorretto:21-alpine-jdk

# Environment Variables
ENV APP_HOME=/app

# Create App Directory (If Needed)
WORKDIR $APP_HOME

# Copy the JAR from the Build Stage (target folder)
COPY --from=build $APP_HOME/target/app-1.0.jar app.jar

# Expose Port
EXPOSE $PORT

# Run the Application
ENTRYPOINT ["java","-jar","/app/app.jar"]
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
# 2024-Eventu
Assignment for the 2024 edition of the "Web Development and the Semantic Web" course, by Gabriel Ferrari Wagnitz and Thaliys Antunes Daré

## To run the project:

- use ```mvnw spring-boot:run``` if you have java locally, or
- run ```docker compose up``` to run it using docker

The initial test user for demo is
username: [email protected]
password: admin
27 changes: 27 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: '3.7'
services:
app:
build: . # Build from the current directory (where Dockerfile is)
depends_on: # Ensures the DB is running before the app starts
- database
ports:
- "8080:8080" # Map your Spring Boot app's port
environment:
- MYSQL_HOST=database

database:
image: mysql:8.4
volumes:
- mysql:/var/lib/mysql
- ./machine/my.cnf:/etc/alternatives/my.cnf
ports:
- "3306:3306"
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=true
- MYSQL_DATABASE=aluno
- MYSQL_USER=aluno
- MYSQL_PASSWORD=aluno


volumes:
mysql:
Binary file modified docs/Eventu.vpp
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/Trab1_Overleaf/capitulos/ch1-introducao.tex
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ \chapter{Introdução}
Este documento apresenta o projeto (\textit{design}) do sistema \emph{\imprimirtitulo}.
O projeto consiste no desenvolvimento de uma aplicação web para organizadores de eventos acadêmicos. Eventos acadêmicos possuem necessidades particulares que não são normalmente supridas por sistemas de vendas de ingressos, que geralmente tem foco em eventos culturais e shows. Por isso, entendemos como necessário desenvolver uma plataforma voltada especificamente para o público universitário.

Os principais diferenciais do sistema Eventu são o suporte à multiplas atividades paralelas, em que os participantes dispõem de diversas atividades para escolher e o sistema faz a gestão da grade de programação, e a API para controle de presença, em que a participação numa programação pode ser registrada com auxilio da integração à um sistema de catracas.
Os principais diferenciais do sistema Eventu são o suporte a multiplas atividades paralelas, em que os participantes dispõem de diversas atividades para escolher e o sistema faz a gestão da grade de programação, e a API para controle de presença, em que a participação numa programação pode ser registrada com auxilio da integração a um sistema de catracas.

Este documento está organizado da seguinte forma:
a Seção~\ref{sec-plataforma} apresenta a plataforma de software utilizada na implementação do sistema;
Expand Down
2 changes: 1 addition & 1 deletion docs/Trab1_Overleaf/capitulos/ch2-plataforma.tex
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ \chapter{Plataforma de Desenvolvimento}

MySQL Server & 8.3 & Sistema Gerenciador de Banco de Dados Relacional gratuito. & Armazenamento dos dados manipulados pela ferramenta. \\\hline

Tomcat & 10.1.19 & Servidor de Aplicações Imbutido no Spring Boot. & Fornecimento de implementação das APIs citadas acima e hospedagem da aplicação Web, dando acesso aos usuários via HTTP. \\\hline
Tomcat & 10.1.19 & Servidor de Aplicações imbutido no Spring Boot. & Fornecimento de implementação das APIs citadas acima e hospedagem da aplicação Web, dando acesso aos usuários via HTTP. \\\hline
\end{longtable}
\end{footnotesize}

Expand Down
15 changes: 13 additions & 2 deletions docs/Trab1_Overleaf/capitulos/ch4-frameweb.tex
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,18 @@ \section{Camada de Negócio}

\textbf{CheckIn}: Classe de relacionamento entre o horario da atração e um usuário, utilizada para registro de presença.

\textbf{AttractionUser}: Representa a \textit{Join Table} dos usuarios inscritos numa atividade, na relação muitos para muitos.
Também foram usadas classes de enumeração (\textit{Enums}) para listar valores possíveis de algumas classes como \textbf{Role}, que representa o papel do usuário no sistema, \textbf{AttachmentType}, que representa o tipo de anexo que foi associado à uma atração e \textbf{TicketStatus}, que representa os possíveis status de um ingresso que foi emitido.

\section{Modelo De Aplicação}
\label{sec-frameweb-app}


\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{figuras/ModeloAplicacao.PNG}
\caption{Modelo de Aplicação.}
\label{figura-app}
\end{figure}


\section{Camada de Acesso a Dados}
Expand All @@ -76,7 +87,7 @@ \section{Camada de Acesso a Dados}
\label{figura-persistencia}
\end{figure}

Além da implementação de funcionalidades CRUD (do inglês: Criação, Consulta, Atualização e Destruição), podemos ressaltar na camada de acesso a dados algumas outras operações:
Além das funcionalidades CRUD (do inglês: Criação, Consulta, Atualização e Destruição) herdadas da classe \textit{org.springframework.data.jpa.repository.JpaRepository}, podemos ressaltar na camada de acesso a dados algumas outras operações:

\textbf{TicketJPADAO}: +retireveByTicketCode - Operação responsável por encontrar o ticket no banco de dados durante o processo de validação do ingresso.

Expand Down
Binary file modified docs/Trab1_Overleaf/figuras/ClassesDeDominio.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/Trab1_Overleaf/figuras/ClassesDePersistencia.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/Trab1_Overleaf/figuras/ModeloNavegacaoAttr.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/Trab1_Overleaf/figuras/ModeloNavegacaoTicket.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/Trab1_Overleaf/figuras/ModeloNavegacaoUser.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion docs/Trab1_Overleaf/projeto-eventu.tex
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,8 @@

\textbf{Versão} & \textbf{Responsável} & \textbf{Data} & \textbf{Alterações} \\ \hline

1.0 & Gabriel Ferrari Wagnitz & 21/04/2024 & Versão inicial. \\\hline
1.0 & Gabriel Ferrari Wagnitz e Thaliys Daré & 21/04/2024 & Versão inicial. \\\hline
2.0 & Gabriel Ferrari Wagnitz e Thaliys Daré & 08/06/2024 & Revisado. \\\hline
\end{tabular}
\end{center}
\newpage
Expand Down
Binary file not shown.
12 changes: 10 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</parent>
<groupId>br.ufes.inf.eventu</groupId>
<artifactId>app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>1.0</version>
<name>app</name>
<description>2024-Eventu for ProgWeb</description>
<properties>
Expand All @@ -25,6 +25,10 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
Expand Down Expand Up @@ -58,7 +62,11 @@
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependency>
<groupId>nz.net.ultraq.thymeleaf</groupId>
<artifactId>thymeleaf-layout-dialect</artifactId>
</dependency>
</dependencies>

<build>
<plugins>
Expand Down
24 changes: 23 additions & 1 deletion src/main/java/br/ufes/inf/eventu/app/AppApplication.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
package br.ufes.inf.eventu.app;

import br.ufes.inf.eventu.app.persistence.UserDAO;
import br.ufes.inf.eventu.app.persistence.AttractionDAO;
import br.ufes.inf.eventu.app.persistence.AttractionTypeDAO;
import br.ufes.inf.eventu.app.persistence.LocationDAO;
import br.ufes.inf.eventu.app.persistence.SpeakerDAO;

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

import static br.ufes.inf.eventu.app.Initialization.setUp;

@SpringBootApplication
@EnableAutoConfiguration
Expand All @@ -12,4 +22,16 @@ public static void main(String[] args) {
SpringApplication.run(AppApplication.class, args);
}

}
@Bean
public CommandLineRunner demo(
UserDAO repositoryUser,
AttractionDAO repositoryAttractionDAO,
AttractionTypeDAO repositoryAttractionTypeDAO,
SpeakerDAO repositorySpeakerDAO,
LocationDAO repositoryLocationDAO) {
return (args) -> {
setUp(repositoryUser, repositoryAttractionDAO, repositoryAttractionTypeDAO, repositorySpeakerDAO,
repositoryLocationDAO);
};
}
}
Loading

0 comments on commit d267733

Please sign in to comment.