The ProEventos project was created to serve the event management sector. This repository presents the proposal for Front-End and Back-End for software designed to efficiently manage events such as conferences. The applicationβs Front-End was developed using Angular CLI (version >= 11.2.1), while the Back-End was built using C# and .NET, with the MySQL Server Express database.
This project was developed during the Udemy course, taught by VinΓcius de Andrade.
You can access the certificate directly β here β.
The application includes the following features:
-
1. A Login Screen, containing a form with email and password fields.
- The login form is only validated with the correctly filled fields.
- The password must have 8 characters.
- The speakerβs profile has three tabs: profile, speaker bio, and social networks.
-
2. A Forgot Password Screen containing a simple form with the email field.
- The Forgot Password form is only validated with the correctly filled email field.
-
3. A top Menu with options for Dashboard, Events, Speakers, and Contact.
-
4. A Speaker Registration Screen containing a form with name, company name, tax ID (CNPJ), and email fields.
- The user registration form is only validated with the correctly filled fields.
- The password must have 8 characters.
- The password confirmation field also has validation; if the passwords do not match, registration is not possible.
- The CNPJ must have 14 characters.
-
5. An Event List Screen.
- It has a search function by location, subject, or speaker.
- You can collapse and expand the grid with the promotional images of already registered events.
- You can edit or delete the desired event.
-
7. An Event Registration Screen containing a form with event name, speaker, promotional image, social network, theme, location, time, date, attendee limit, and batch fields.
-
8. An Event Edit Screen containing a form with the same fields as the Event Registration Screen.
-
9. An Event Edit Screen containing a form with the same fields as the Event Registration Screen.
Before using this application, you need to have Node.js and Angular CLI installed on your computer. This project was developed using Angular CLI version 11.2.1. Follow the steps below to install and configure the development environment:
- Node.js (version >= 10.13.0)
- .NET (version >= 5.0.402)
- npm (version >= 6.11.0)
- Angular CLI (version >= 11.2.1)
- MySQL
- Go to the official Node.js website at https://nodejs.org/en/download/.
- Select the download option for your operating system.
- Download and run the Node.js installer. Follow the installer instructions to complete the installation.
- Open your system's terminal.
- Run the following command to install Angular CLI:
npm install -g @angular/cli@11.2.1
- Wait for the installation to complete.
- Clone the repository:
git clone https://github.com/your-username/your-repository.git
- Navigate to the backend directory:
cd backend
- Start the backend server:
npm start
- Check the backend connection: The server should be running at http://localhost:3000/. You can verify if the backend is working properly by accessing this URL.
- Navigate to the frontend directory:
cd ProEventos/Front/ProEventos-App
- Install the frontend dependencies:
npm install
After these commands, your project folder structure should look similar to this:
ProEventos/
βββ .vscode/
βββ Back/
βββ Front/
β βββ ProEventos-App
β βββ e2e/
β βββ node_modules/
β βββ src/
β βββ ...
βββ .gitignore
βββ README.md
-
Start the development server::
ng serve
-
Access the application: Navigate to http://localhost:4200/. The application will reload automatically if you change any of the source files.
Start the backend:
- Make sure the backend server is running first. Navigate to the backend directory and run:
cd ProEventos/Back/src npm start
Start the Frontend:
- To start the development server, run:
cd ProEventos/Front/ProEventos-App ng serve
- Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.
ProEventos/
βββ .vscode/
β βββ launch.json
β βββ tasks.json
βββ Back/
β βββ src
β β βββ ProEventos.API
β β β βββ bin/
β β β βββ Controllers/
β β β βββ Controllers/
β β β βββ Extensions/
β β β βββ Helpers/
β β β βββ Models/
β β β βββ obj/
β β β βββ Properties/
β β β βββ appsettings.Development.json
β β β βββ appsettings.json
β β β βββ ProEventos.API.csproj
β β β βββ Program.cs
β β β βββ Startup.cs
β β βββ ProEventos.Application
β β β βββ bin/
β β β βββ Contratos/
β β β βββ Dtos/
β β β βββ Extensions/
β β β βββ Helpers/
β β β βββ obj/
β β β βββ AccountService.cs
β β β βββ EventoService.cs
β β β βββ LoteService.cs
β β β βββ PalestranteService.cs
β β β βββ ProEventos.Application.csproj
β β β βββ RedeSocialService.cs
β β β βββ TokenService.cs
β β βββ ProEventos.Domain
β β β βββ bin/
β β β βββ Enum/
β β β βββ Identity/
β β β βββ obj/
β β β βββ Evento.cs
β β β βββ Lote.cs
β β β βββ Palestrante.cs
β β β βββ PalestranteEvento.cs
β β β βββ ProEventos.Domain.csproj
β β β βββ RedeSocial.cs
β β βββ ProEventos.Persistence
β β β βββ bin/
β β β βββ Contextos/
β β β βββ Contratos/
β β β βββ Migrations/
β β β βββ Models/
β β β βββ obj/
β β β βββ EventoPersist.cs
β β β βββ GeralPersist.cs
β β β βββ LotePersist.cs
β β β βββ PalestrantePersist.cs
β β β βββ ProEventos.Persistence.csproj
β β β βββ RedeSocialPersist.cs
β β β βββ UserPersist.cs
β β βββ global.json
β βββ βββ ProEventos.sln
βββ Front/
β βββ ProEventos-App
β βββ e2e/
β β βββ ...
β βββ node_modules/
β β βββ ...
β βββ src/
β β βββ app/
β β β βββ components/
β β β β βββ contatos/
β β β β | βββ ...
β β β β βββ dashboard/
β β β β | βββ ...
β β β β βββ eventos/
β β β β | βββ ...
β β β β βββ home/
β β β β | βββ ...
β β β β βββ palestrantes/
β β β β | βββ ...
β β β β βββ redesSociais/
β β β β | βββ ...
β β β β βββ user/
β β β β βββ ...
β β β βββ guard/
β β β β βββ ...
β β β βββ helpers/
β β β β βββ ...
β β β βββ interceptors/
β β β β βββ ...
β β β βββ services/
β β β β βββ account.service.ts
β β β β βββ evento.service.ts
β β β β βββ lote.service.ts
β β β β βββ palestrante.service.ts
β β β β βββ redeSocial.service.ts
β β β βββ models/
β β β β βββ identity/
β β β β | βββ User.ts
β β β β | βββ UserLogin.ts
β β β β | βββ UserUpdate.ts
β β β β βββ Evento.ts
β β β β βββ Lote.ts
β β β β βββ Pagination.ts
β β β β βββ Palestrante.ts
β β β β βββ RedeSocial.ts
β β β βββ shared/
β β β β βββ nav/
β β β β βββ ...
β β β β βββ titulo/
β β β β βββ ...
β β β βββ util/
β β β β βββ ...
β β β βββ app-routing.module.ts
β β β βββ ...
β β βββ assets/
β β βββ environments/
β βββ βββ ...
βββ .gitignore
βββ README.md
O projeto ProEventos foi criado para atender o setor de gestΓ£o de eventos. Este repositΓ³rio apresenta a proposta de Front-End e Back-End para um software destinado a gerenciar eventos, como palestras, de maneira eficiente. O Front-End da aplicação foi desenvolvido com Angular CLI (versΓ£o >= 11.2.1), enquanto o Back-End foi construΓdo usando C# e .NET, com o banco de dados MySQL Server Express.
Este projeto foi desenvolvido durante o curso Udemy, ministrado por VinΓcius de Andrade.
VocΓͺ pode acessar o certificado diretamente β aqui β.
A aplicação contém as seguintes funcionalidades:
-
1. Uma Tela de Login, contendo um formulΓ‘rio com campos de email e senha.
- O formulΓ‘rio de login sΓ³ Γ© validado com os campos preenchidos corretamente.
- A senha deve conter 8 caracteres.
- _O perfil do usuario palestrante possui trΓͺΓs guias: perfil, palestrante bio e redes sociais
-
2. Uma Tela de Esqueci a Senha contendo um simples formulΓ‘rio com o campo de e-mail.
- O formulΓ‘rio de Esqueci a Senha sΓ³ Γ© validado com o campo preenchido corretamente.
-
3. Um Menu superior, contendo as opçáes Dashboard, Eventos, Palestrantes e Contanto
-
4. Uma Tela de Cadastro de Palestrantes contendo um formulΓ‘rio com os campos de nome, nome da empresa, cnpj, e-mail.
- O formulΓ‘rio de Cadastro de UsuΓ‘rio sΓ³ Γ© validado com os campos preenchidos corretamente.
- A senha deve conter 8 caracteres.
- No campo confirmação de senha, tambΓ©m possui validação, caso sejam divergentes nΓ£o serΓ‘ possΓvel o cadastro.
- O cnpj deve conter 14 caracteres.
-
5. Uma Tela de Listagem de Eventos.
- Possui a funcionalidade de buscar um evento por localidade, assunto ou palestrante.
- à possivel recolher e expandir o grid com as imagens de divulgação dos eventos jÑ cadastrados.
- Γ possivel editar ou excluir o evento desejado.
-
7. Uma Tela de Cadastro de Evento, contendo um formulÑrio com os campos nome do evento, responsÑvel/palestrante, imagem de divulgação, rede social, tema, local, hora, data, quantidade de pessoas e lote.
-
8. Uma Tela de Cadastro de Eventos, contendo um formulΓ‘rio com os campos nome, responsΓ‘vel.
-
9. Uma Tela de Edição de Eventos, contendo um formulÑrio com os mesmos campos presentes no Cadastro de Evento.
Antes de utilizar esta aplicação, é necessÑrio ter o Node.js e o Angular CLI instalados em seu computador. Este projeto foi desenvolvido usando Angular CLI versão 11.2.1. Siga os passos abaixo para instalar e configurar o ambiente de desenvolvimento:
- Node.js (versΓ£o >= 10.13.0)
- .net (versΓ£o >= 5.0.402)
- npm (versΓ£o >= 6.11.0)
- Angular CLI (versΓ£o >= 11.2.1)
- MySQL
- Acesse o site oficial do Node.js em https://nodejs.org/en/download/.
- Selecione a opção de download correspondente ao seu sistema operacional.
- Baixe e execute o instalador do Node.js. Siga as instruçáes do instalador para concluir a instalação.
- Abra o terminal do seu sistema operacional.
- Execute o seguinte comando para instalar o Angular CLI:
npm install -g @angular/cli@11.2.1
- Aguarde o término da instalação.
- Clone o repositΓ³rio:
git clone https://github.com/seu-usuario/seu-repositorio.git
- Navegar atΓ© o diretΓ³rio do backend:
cd backend
- Iniciar o servidor backend:
npm start
- Verificar a conexΓ£o com o backend: O servidor deve estar rodando em http://localhost:3000/. VocΓͺ pode verificar se o backend estΓ‘ funcionando corretamente acessando esta URL.
- Navegar atΓ© o diretΓ³rio do frontend:
cd ProEventos/Front/ProEventos-App
- Instalar as dependΓͺncias do frontend:
npm install
ApΓ³s esses comandos, a estrutura de pastas do seu projeto deve ser semelhante a esta:
ProEventos/
βββ .vscode/
βββ Back/
βββ Front/
β βββ ProEventos-App
β βββ e2e/
β βββ node_modules/
β βββ src/
β βββ ...
βββ .gitignore
βββ README.md
-
Iniciar o servidor de desenvolvimento:
ng serve
-
Acessar a aplicação: Navegue para http://localhost:4200/. A aplicação serΓ‘ recarregada automaticamente se vocΓͺ alterar qualquer um dos arquivos de origem.
Iniciar o backend:
- Certifique-se de que o servidor backend estΓ‘ rodando primeiro. Navegue atΓ© o diretΓ³rio do backend e execute:
cd ProEventos/Back/src npm start
Iniciar o Frontend:
- Para iniciar o servidor de desenvolvimento, execute:
cd ProEventos/Front/ProEventos-App ng serve
- Navegue para http://localhost:4200/. A aplicação serΓ‘ recarregada automaticamente se vocΓͺ alterar qualquer um dos arquivos de origem.
ProEventos/
βββ .vscode/
β βββ launch.json
β βββ tasks.json
βββ Back/
β βββ src
β β βββ ProEventos.API
β β β βββ bin/
β β β βββ Controllers/
β β β βββ Controllers/
β β β βββ Extensions/
β β β βββ Helpers/
β β β βββ Models/
β β β βββ obj/
β β β βββ Properties/
β β β βββ appsettings.Development.json
β β β βββ appsettings.json
β β β βββ ProEventos.API.csproj
β β β βββ Program.cs
β β β βββ Startup.cs
β β βββ ProEventos.Application
β β β βββ bin/
β β β βββ Contratos/
β β β βββ Dtos/
β β β βββ Extensions/
β β β βββ Helpers/
β β β βββ obj/
β β β βββ AccountService.cs
β β β βββ EventoService.cs
β β β βββ LoteService.cs
β β β βββ PalestranteService.cs
β β β βββ ProEventos.Application.csproj
β β β βββ RedeSocialService.cs
β β β βββ TokenService.cs
β β βββ ProEventos.Domain
β β β βββ bin/
β β β βββ Enum/
β β β βββ Identity/
β β β βββ obj/
β β β βββ Evento.cs
β β β βββ Lote.cs
β β β βββ Palestrante.cs
β β β βββ PalestranteEvento.cs
β β β βββ ProEventos.Domain.csproj
β β β βββ RedeSocial.cs
β β βββ ProEventos.Persistence
β β β βββ bin/
β β β βββ Contextos/
β β β βββ Contratos/
β β β βββ Migrations/
β β β βββ Models/
β β β βββ obj/
β β β βββ EventoPersist.cs
β β β βββ GeralPersist.cs
β β β βββ LotePersist.cs
β β β βββ PalestrantePersist.cs
β β β βββ ProEventos.Persistence.csproj
β β β βββ RedeSocialPersist.cs
β β β βββ UserPersist.cs
β β βββ global.json
β βββ βββ ProEventos.sln
βββ Front/
β βββ ProEventos-App
β βββ e2e/
β β βββ ...
β βββ node_modules/
β β βββ ...
β βββ src/
β β βββ app/
β β β βββ components/
β β β β βββ contatos/
β β β β | βββ ...
β β β β βββ dashboard/
β β β β | βββ ...
β β β β βββ eventos/
β β β β | βββ ...
β β β β βββ home/
β β β β | βββ ...
β β β β βββ palestrantes/
β β β β | βββ ...
β β β β βββ redesSociais/
β β β β | βββ ...
β β β β βββ user/
β β β β βββ ...
β β β βββ guard/
β β β β βββ ...
β β β βββ helpers/
β β β β βββ ...
β β β βββ interceptors/
β β β β βββ ...
β β β βββ services/
β β β β βββ account.service.ts
β β β β βββ evento.service.ts
β β β β βββ lote.service.ts
β β β β βββ palestrante.service.ts
β β β β βββ redeSocial.service.ts
β β β βββ models/
β β β β βββ identity/
β β β β | βββ User.ts
β β β β | βββ UserLogin.ts
β β β β | βββ UserUpdate.ts
β β β β βββ Evento.ts
β β β β βββ Lote.ts
β β β β βββ Pagination.ts
β β β β βββ Palestrante.ts
β β β β βββ RedeSocial.ts
β β β βββ shared/
β β β β βββ nav/
β β β β βββ ...
β β β β βββ titulo/
β β β β βββ ...
β β β βββ util/
β β β β βββ ...
β β β βββ app-routing.module.ts
β β β βββ ...
β β βββ assets/
β β βββ environments/
β βββ βββ ...
βββ .gitignore
βββ README.md