Com o objetivo de unificar e simplificar todo o processo de organização do transporte entre cidades e centros de ensino, o Campus Connect surge como alternativa tecnlogia para um problema que - até então - era resolvido de forma não muito tecnologica assim...
Campus Connect é uma aplicação web desenvolvida para facilitar a gestão e integração de estudantes universitários que utilizam o transporte intermunicipal para instituições de ensino. O sistema centraliza informações de alunos de três cidades distintas, cruzando dados com rotas e linhas de transporte, a fim de otimizar a organização logística e o uso dos recursos disponíveis.
O projeto visa resolver desafios comuns enfrentados por estudantes que dependem de transporte coletivo entre cidades para frequentar suas aulas. Ao integrar dados de alunos, rotas e instituições, o Campus Connect fornece uma base sólida para gestores de transporte estudantil tomarem decisões mais eficientes, ao mesmo tempo em que oferece aos alunos uma experiência mais transparente e organizada.
flowchart LR
Client((Client))
subgraph SYSTEM
Model((Model))
View[View]
Controller{Controller}
Database[(Database)]
end
Client --http:request--> Controller
Controller --data--> View
Controller --data request--> Model
Model --mysql:request--> Database
Database --mysql:response--> Model
Model --data response--> Controller
View --dynamic template--> Controller
Controller --http:response--> Client
style Client fill:#cfc,color:#070,stroke:#070;
style Controller fill:#ccf,color:#00a,stroke:#00a;
style Model fill:#ffc,color:#f70,stroke:#f70;
style Database fill:#ffc,color:#f70,stroke:#f70;
style View fill:#fcc,color:#f00,stroke:#f00;
style SYSTEM fill:#474a4a,color:#fff,stroke:#fff;
linkStyle default color:#fff
linkStyle 0,1,2,3 stroke:#0fa
linkStyle 4,5,6,7 stroke:#0aa
erDiagram
direction TB
ApplicationUser {
string Nome "Not Null"
string Sobrenome "Not Null"
string Cidade "Not Null"
string Rota "Not Null"
string Instituicao "Not Null"
string Matricula "Not Null"
string Curso "Not Null"
string Periodo "Not Null"
}
ProfileDto {
string(100) Nome "Not Null"
string(100) Sobrenome "Not Null"
string(20) Telefone "Not Null"
string(100) Email "Not Null"
string(100) Cidade "Not Null"
string(100) Rota "Not Null"
string(100) Instituicao "Not Null"
string NovaInstituicao "Not Null"
string Matricula "Not Null"
string(100) Curso "Not Null"
string Periodo "Not Null"
}
RegisterDto {
string(100) Nome "Not Null"
string(100) Sobrenome "Not Null"
string(100) Telefone "Not Null"
string(100) Email "Not Null"
string(100) Cidade "Not Null"
string(100) Rota "Not Null"
string(100) Instituicao "Not Null"
string NovaInstituicao "Not Null"
string Matricula "Not Null"
string(100) Curso "Not Null"
string Periodo "Not Null"
string(100) Senha "Not Null"
string ConfirmarSenha "Not Null"
}
PasswordDto {
string(100) SenhaAtual "Not Null"
string(100) NovaSenha "Not Null"
string ConfirmarSenha "Not Null"
}
erDiagram
direction TB
PasswordResetDto {
string Email "Not Null"
string(100) Senha "Not Null"
string ConfirmarSenha "Not Null"
}
LoginDto {
string(100) Email "Not Null"
string(100) Senha "Not Null"
bool LembrarDeMim "Not Null"
}
SearchUsers {
string Search "Nullable"
string Rota "Nullable"
string Cidade "Nullable"
string Instituicao "Nullable"
}
ErrorViewModel {
string RequestId "Nullable"
bool ShowRequestId "Not Null"
}
erDiagram
direction LR
AspNetUsers {
string Id PK "Not Null"
string Nome "Not Null"
string Sobrenome "Not Null"
string Cidade "Not Null"
string Rota "Not Null"
string Instituicao "Not Null"
string Matricula "Not Null"
string Curso "Not Null"
string Periodo "Not Null"
string UserName "Not Null"
string NormalizedUserName "Not Null"
string Email "Not Null"
string NormalizedEmail "Not Null"
bool EmailConfirmed "Not Null"
string PasswordHash "Not Null"
string SecurityStamp "Not Null"
string ConcurrencyStamp "Not Null"
string PhoneNumber "Not Null"
bool PhoneNumberConfirmed "Not Null"
bool TwoFactorEnabled "Not Null"
datetime LockoutEnd "Not Null"
bool LockoutEnabled "Not Null"
int AccessFailedCount "Not Null"
}
AspNetRoles {
string Id PK "Not Null"
string Name "Nullable"
string NormalizedName "Nullable"
string ConcurrencyStamp "Nullable"
}
AspNetUserRoles {
string UserId PK, FK "Not Null"
string RoleId PK, FK "Not Null"
}
AspNetUserClaims {
int Id PK "Not Null"
string UserId FK "Not Null"
string ClaimType "Not Null"
string ClaimValue "Not Null"
}
AspNetRoleClaims {
int Id PK "Not Null"
string RoleId FK "Not Null"
string ClaimType "Not Null"
string ClaimValue "Not Null"
}
AspNetUserLogins {
string LoginProvider PK "Not Null"
string ProviderKey PK "Not Null"
string ProviderDisplayName "Not Null"
string UserId FK "Not Null"
}
AspNetUserTokens {
string UserId PK, FK "Not Null"
string LoginProvider PK "Not Null"
string Name PK "Not Null"
string Value "Not Null"
}
AspNetUsers ||--o{ AspNetUserClaims : has
AspNetUsers ||--o{ AspNetUserLogins : has
AspNetUsers ||--o{ AspNetUserTokens : has
AspNetRoles ||--o{ AspNetRoleClaims : has
AspNetUsers ||--o{ AspNetUserRoles : has
AspNetRoles ||--o{ AspNetUserRoles : has
Antes de iniciar com o desenvolvimento e os comandos, é importante definir as variáveis de ambiente no seu ambiente de desenvolvimento. Abaixo a listagem de quais definir:
| Variável | Tipo | Necessidade | Default | Descrição |
|---|---|---|---|---|
EXAMPLE |
string |
[Required | Optional] | Foo |
Lorem ipsum dolor sit amet |
comando
This project is under MIT - Massachusetts Institute of Technology. A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
