/Proj

Projeto usado como meio de aprendizado das ferramentas C#, Angular, TypeScript, CSS, HTML e a plataforma .NET Core como um todo.

GNU General Public License v3.0GPL-3.0

PROJ_20201

Projeto usado como meio de aprendizado das ferramentas C#, Angular, TypeScript, CSS, HTML e a plataforma .NET Core como um todo.

1. Justificativa do projeto

Este é um projeto que pode ser ou não concluído, sabe-se lá quando. Contudo, seu objetivo é servir como uma base para um sistema de comércio eletrônico, mais especificamente para tender a disciplina de Comércio Eletrônico do curso de Sistemas de Informação do Instituto Federal do Espírito Santo (IFES - Serra).

Outro objetivo, talvez mais importante que o primeiro, é, ser um projeto completo para que outras pessoas possam compreender, construir seu próprio sistema ou utilizar partes em seus projetos. A ideia é abrangir tecnologias e conhecimentos utilizados do lado do cliente (Frontend), do servidor (Backend) e do banco de dados.

2. Alguns esclarecimentos

  • É importante ter ciência que este projeto é acadêmico, com fins pessoais e educacionais.
  • Nenhum produto exibido no sistema é de fato vendido, assim como todas transações financeiras são realizadas em ambientes de teste (chamados de “sandbox”).
  • Qualquer item (logo, nomes, vídeo, imagem) protegido por direitos autorais devem ter suas propriedades preservadas. Este projeto é livre, porém algumas imagens utilizadas possuem restrição de uso.

3. Alguns conhecimentos que considero show!

Programação Orientada a Objetos, Web:

  • Implementação de uma arquitetura (ou camadas ou microsserviços++) de sistema e sua justificativa;
  • Implementação de padrões de projetos ();
  • Implementação de heurísticas de IU (heurísticas de Nielsen, por exemplo).

Análise e Projeto do Sistema:

  • Elaboração e registro de regras de negócio (RN), requisitos funcionais (RF) e requisitos não-funcionais (RNF);
  • Elaboração de minimundo do projeto;
  • Elaboração de diagrama de Casos de Uso;
  • Elaboração de diagrama de Classes.

Banco de Dados:

  • Elaboração de diagrama Entidade-Relacionamento (ER) Conceitual;
  • Elaboração de diagrama do Modelo Lógico;
  • Normalização até pelo menos o 3º nível;
  • Aplicação de índices e justificativa do tipo escolhido;
  • Utilizar Funções, Views e Triggers.

4. Tecnologias utilizadas

Análise e Projeto:

  • Astah UML

Frontend:

  • TypeScript
  • Angular
  • HTML e CSS

Backend:

  • .NET Core (C#)

Banco de dados:

  • PostgreSQL
  • Mongo DB

Hospedagem da aplicação:

  • Heroku

Hospedagem das bases de dados:

  • ElephantSQL
  • MongoLAB ("MLab")