Git Product home page Git Product logo

camila-github / projeto-angular-ecommerce Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 52.57 MB

FRONT END + BACK END - Criação de um e-commerce para simular o acesso as paginas web com uso de rotas (conceito SPA - Single-Page Application). Utilizado ferramenta como Angular + Json-Server + BootStrap + MaterializeCss.

Home Page: https://camila-github.github.io/projeto-angular-ecommerce/

JavaScript 2.45% TypeScript 52.23% CSS 7.98% HTML 37.34%
angular angularcli json-server bootstrap materialize-css nodejs express

projeto-angular-ecommerce's Introduction

Projeto: Criação de paginas web (e-commerce) utilizando Angular

  • O intuito do projeto foi criar um e-commerce para simular o acesso as paginas web com uso de rotas (conceito SPA - Single-Page Application). Utilizado ferramentas como Angular + Json-Server + BootStrap + MaterializeCss.

Ferramentas Utilizadas

  • Angular
  • Angular/cli
  • Bootstrap
  • Materialize-css
  • NodeJs
  • json-server (para simular o Back-End)

Conceitos Utilizados:

  • Utilizado os comandos do @angular/cli para criação de modulos, componentes, rotas, service e interface.

  • Criação de Rotas para que os componentes possam ser acessados utilizando as rotas, desta forma as paginas web serão mostradas no navegador através das rotas que foram criadas (Conceito SAP Single-Page Application)

  • Padronizado a estrutura de pastas do projeto, criando componentes com seus respectivos modulos:

    Criado componentes que podem ser compartilhados com outras aplicações (pasta 'app/shared')

    Criado componentes comuns que serão compartilhados com outros componentes dentro da propria aplicação (pasta 'app/core/common' e pasta 'app/core/pages').

    Criado os componentes que tem a lógica de negócio da aplicação, em pasta separada (pasta 'app/components/products')

  • Criado Requisições em HTTP com NodeJS + Express + Json-server

  • Uso do RXJS Observable: O Observable é uma funcionalidade da biblioteca do rxjs, que é instalada quando se cria uma nova aplicação do angular. Com seu uso, é possivel lidar com transferencia de dados assincrona, algo que em muitas vezes é semelhante as Promisses do Javascript. O uso do RXJS Observable é feito dentro dos arquivos 'service.ts'

  • Segregrado aplicação em modulos: Utilizado o forChild: O forChild é utilizado em modulos filhos. Isso diferencia do modulo Pai, que no projeto, o arquivo pai, é o arquivo 'app.module.ts'

Uso do projeto com download feito no github

Instalar dependências.

  • Acesse o github e faça o download do projeto.
  • Na pasta raiz execute npm install ou yarn install para instalar as dependências.

BackEnd - Para rodar api db.json

  • Caso nao tiver o json-server instale usando o comando: npm install -g json-server
  • Na pasta app/server execute o comando json-server --watch db.json
  • Acesse http://localhost:3000/ para ver api rodando.
  • Em 'Resources' constará as rotas que estão sendo executadas:
Resources

/products
/categories
/contact 

Front-end - Para rodar a aplicação

  • Na pasta raiz execute ng serve para iniciar servidor do angular.

Update

14-11-2021

Projeto Publicado no link abaixo:

https://camila-github.github.io/projeto-angular-ecommerce/

Vídeo de demonstração do aplicativo

Video

Paginas Web (Rotas)

  • Rota Home:
Rota Pai:
Arquivo: app.routing.module.ts 
@NgModule: forRoot() 
{ path: '', component: HomeComponent },
{ path: 'home', component: HomeComponent }
  • Rota About:
Rota Pai:
Arquivo: app.routing.module.ts
@NgModule: forRoot()
{ path: 'about', component: AboutComponent }
  • Rota Contact:
Rota Pai:
Arquivo: app.routing.module.ts
@NgModule: forRoot()
{ path: 'contact', component: ContactComponent }
  • Rota ProductsViewAll:
Rota Pai:
Arquivo: app.routing.module.ts
@NgModule: forRoot()
{ path: 'products', loadChildren: () => import('./components/products/products.module').then(m => m.ProductsModule) }

Rota Filho:
Arquivo: products.routing.module.ts
@NgModule: forChild()
{ path: '', component: ProductsViewAllComponent }
  • Rota ProductsViewAllByCategory:
Rota Pai: 
Arquivo: app.routing.module.ts
@NgModule: forRoot()
{ path: 'products', loadChildren: () => import('./components/products/products.module').then(m => m.ProductsModule) }

Rota Filho:
Arquivo: products.routing.module.ts
@NgModule: forChild()
{ path: 'category/:id', component: ProductsViewAllByCategoryComponent}
  • Rota ProductView:
Rota Pai: 
Arquivo: app.routing.module.ts
@NgModule: forRoot()
{ path: 'products', loadChildren: () => import('./components/products/products.module').then(m => m.ProductsModule) }

Rota Filho: 
Arquivo: products.routing.module.ts
@NgModule: forChild()
{ path: 'product/:id', component: ProductViewComponent }
  • Rota ProductCreate:
Rota Pai: 
Arquivo: app.routing.module.ts
@NgModule: forRoot()
{ path: 'products', loadChildren: () => import('./components/products/products.module').then(m => m.ProductsModule) }

Rota Filho: 
Arquivo: products.routing.module.ts
@NgModule: forChild()
{ path: 'product-create', component: ProductCreateComponent }

projeto-angular-ecommerce's People

Contributors

camila-github avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

crsantos3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.