diff --git a/Frontend/src/app/app.module.ts b/Frontend/src/app/app.module.ts index 83b30d8..9acb4c6 100644 --- a/Frontend/src/app/app.module.ts +++ b/Frontend/src/app/app.module.ts @@ -4,10 +4,11 @@ import {NgModule} from '@angular/core'; import {AppComponent} from './app.component'; import {AppRouting} from './app.routing'; -import {ProductListComponent} from './product-list/product-list.component'; -import { LandingpageComponent } from './landingpage/landingpage.component'; -import { ProductDetailPageComponent } from './product-detail-page/product-detail-page.component'; -import { FooterComponent } from './footer/footer.component'; +import {ProductListComponent} from './components/product-list/product-list.component'; +import { LandingpageComponent } from './components/landingpage/landingpage.component'; +import { ProductDetailPageComponent } from './components/product-detail-page/product-detail-page.component'; +import { FooterComponent } from './components/footer/footer.component'; +import { ProductDetailsComponent } from './components/product-details/product-details.component'; @NgModule({ declarations: [ @@ -15,7 +16,8 @@ import { FooterComponent } from './footer/footer.component'; ProductListComponent, LandingpageComponent, ProductDetailPageComponent, - FooterComponent + FooterComponent, + ProductDetailsComponent ], imports: [ BrowserModule, diff --git a/Frontend/src/app/app.routing.ts b/Frontend/src/app/app.routing.ts index f34925f..9f175a5 100644 --- a/Frontend/src/app/app.routing.ts +++ b/Frontend/src/app/app.routing.ts @@ -2,9 +2,9 @@ import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; import {RouterModule, Routes} from '@angular/router'; import {AppComponent} from './app.component'; -import {ProductListComponent} from './product-list/product-list.component'; -import {LandingpageComponent} from './landingpage/landingpage.component'; -import {ProductDetailPageComponent} from './product-detail-page/product-detail-page.component'; +import {ProductListComponent} from './components/product-list/product-list.component'; +import {LandingpageComponent} from './components/landingpage/landingpage.component'; +import {ProductDetailPageComponent} from './components/product-detail-page/product-detail-page.component'; const routes: Routes = [ {path: '', component: LandingpageComponent}, diff --git a/Frontend/src/app/footer/footer.component.css b/Frontend/src/app/components/footer/footer.component.css similarity index 100% rename from Frontend/src/app/footer/footer.component.css rename to Frontend/src/app/components/footer/footer.component.css diff --git a/Frontend/src/app/footer/footer.component.html b/Frontend/src/app/components/footer/footer.component.html similarity index 100% rename from Frontend/src/app/footer/footer.component.html rename to Frontend/src/app/components/footer/footer.component.html diff --git a/Frontend/src/app/footer/footer.component.spec.ts b/Frontend/src/app/components/footer/footer.component.spec.ts similarity index 100% rename from Frontend/src/app/footer/footer.component.spec.ts rename to Frontend/src/app/components/footer/footer.component.spec.ts diff --git a/Frontend/src/app/footer/footer.component.ts b/Frontend/src/app/components/footer/footer.component.ts similarity index 100% rename from Frontend/src/app/footer/footer.component.ts rename to Frontend/src/app/components/footer/footer.component.ts diff --git a/Frontend/src/app/landingpage/landingpage.component.css b/Frontend/src/app/components/landingpage/landingpage.component.css similarity index 100% rename from Frontend/src/app/landingpage/landingpage.component.css rename to Frontend/src/app/components/landingpage/landingpage.component.css diff --git a/Frontend/src/app/landingpage/landingpage.component.html b/Frontend/src/app/components/landingpage/landingpage.component.html similarity index 100% rename from Frontend/src/app/landingpage/landingpage.component.html rename to Frontend/src/app/components/landingpage/landingpage.component.html diff --git a/Frontend/src/app/landingpage/landingpage.component.spec.ts b/Frontend/src/app/components/landingpage/landingpage.component.spec.ts similarity index 100% rename from Frontend/src/app/landingpage/landingpage.component.spec.ts rename to Frontend/src/app/components/landingpage/landingpage.component.spec.ts diff --git a/Frontend/src/app/landingpage/landingpage.component.ts b/Frontend/src/app/components/landingpage/landingpage.component.ts similarity index 100% rename from Frontend/src/app/landingpage/landingpage.component.ts rename to Frontend/src/app/components/landingpage/landingpage.component.ts diff --git a/Frontend/src/app/product-detail-page/product-detail-page.component.css b/Frontend/src/app/components/product-detail-page/product-detail-page.component.css similarity index 100% rename from Frontend/src/app/product-detail-page/product-detail-page.component.css rename to Frontend/src/app/components/product-detail-page/product-detail-page.component.css diff --git a/Frontend/src/app/product-detail-page/product-detail-page.component.html b/Frontend/src/app/components/product-detail-page/product-detail-page.component.html similarity index 100% rename from Frontend/src/app/product-detail-page/product-detail-page.component.html rename to Frontend/src/app/components/product-detail-page/product-detail-page.component.html diff --git a/Frontend/src/app/product-detail-page/product-detail-page.component.spec.ts b/Frontend/src/app/components/product-detail-page/product-detail-page.component.spec.ts similarity index 100% rename from Frontend/src/app/product-detail-page/product-detail-page.component.spec.ts rename to Frontend/src/app/components/product-detail-page/product-detail-page.component.spec.ts diff --git a/Frontend/src/app/product-detail-page/product-detail-page.component.ts b/Frontend/src/app/components/product-detail-page/product-detail-page.component.ts similarity index 100% rename from Frontend/src/app/product-detail-page/product-detail-page.component.ts rename to Frontend/src/app/components/product-detail-page/product-detail-page.component.ts diff --git a/Frontend/src/app/components/product-details/product-details.component.css b/Frontend/src/app/components/product-details/product-details.component.css new file mode 100644 index 0000000..e69de29 diff --git a/Frontend/src/app/components/product-details/product-details.component.html b/Frontend/src/app/components/product-details/product-details.component.html new file mode 100644 index 0000000..b8bfedf --- /dev/null +++ b/Frontend/src/app/components/product-details/product-details.component.html @@ -0,0 +1 @@ +

product-details works!

diff --git a/Frontend/src/app/components/product-details/product-details.component.spec.ts b/Frontend/src/app/components/product-details/product-details.component.spec.ts new file mode 100644 index 0000000..4181ef9 --- /dev/null +++ b/Frontend/src/app/components/product-details/product-details.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProductDetailsComponent } from './product-details.component'; + +describe('ProductDetailsComponent', () => { + let component: ProductDetailsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ProductDetailsComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ProductDetailsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Frontend/src/app/components/product-details/product-details.component.ts b/Frontend/src/app/components/product-details/product-details.component.ts new file mode 100644 index 0000000..d04a454 --- /dev/null +++ b/Frontend/src/app/components/product-details/product-details.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-product-details', + templateUrl: './product-details.component.html', + styleUrls: ['./product-details.component.css'] +}) +export class ProductDetailsComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/Frontend/src/app/product-list/product-list.component.css b/Frontend/src/app/components/product-list/product-list.component.css similarity index 100% rename from Frontend/src/app/product-list/product-list.component.css rename to Frontend/src/app/components/product-list/product-list.component.css diff --git a/Frontend/src/app/product-list/product-list.component.html b/Frontend/src/app/components/product-list/product-list.component.html similarity index 100% rename from Frontend/src/app/product-list/product-list.component.html rename to Frontend/src/app/components/product-list/product-list.component.html diff --git a/Frontend/src/app/product-list/product-list.component.spec.ts b/Frontend/src/app/components/product-list/product-list.component.spec.ts similarity index 100% rename from Frontend/src/app/product-list/product-list.component.spec.ts rename to Frontend/src/app/components/product-list/product-list.component.spec.ts diff --git a/Frontend/src/app/product-list/product-list.component.ts b/Frontend/src/app/components/product-list/product-list.component.ts similarity index 90% rename from Frontend/src/app/product-list/product-list.component.ts rename to Frontend/src/app/components/product-list/product-list.component.ts index 58e9100..70f774f 100644 --- a/Frontend/src/app/product-list/product-list.component.ts +++ b/Frontend/src/app/components/product-list/product-list.component.ts @@ -1,6 +1,6 @@ import {Component, Input, OnInit} from '@angular/core'; -import {ApiService} from '../api.service'; -import {Product} from '../models/product'; +import {ApiService} from '../../services/api.service'; +import {Product} from '../../models/product'; import {Router} from '@angular/router'; @Component({ diff --git a/Frontend/src/app/models/price.ts b/Frontend/src/app/models/price.ts new file mode 100644 index 0000000..49030e8 --- /dev/null +++ b/Frontend/src/app/models/price.ts @@ -0,0 +1,7 @@ +export interface Price { + price_id: number; + product_id: number; + vendor_id: number; + price_in_cents: number; + timestamp: Date; +} diff --git a/Frontend/src/app/api.service.spec.ts b/Frontend/src/app/services/api.service.spec.ts similarity index 100% rename from Frontend/src/app/api.service.spec.ts rename to Frontend/src/app/services/api.service.spec.ts diff --git a/Frontend/src/app/api.service.ts b/Frontend/src/app/services/api.service.ts similarity index 62% rename from Frontend/src/app/api.service.ts rename to Frontend/src/app/services/api.service.ts index e029888..7487633 100644 --- a/Frontend/src/app/api.service.ts +++ b/Frontend/src/app/services/api.service.ts @@ -1,7 +1,8 @@ import {Injectable} from '@angular/core'; import {HttpClient, HttpHeaders} from '@angular/common/http'; import process from 'process'; -import {Product} from './models/product'; +import {Product} from '../models/product'; +import {Price} from '../models/price'; import {Observable, of} from 'rxjs'; @Injectable({ @@ -24,4 +25,14 @@ export class ApiService { process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`); } } + + getPrices(): Observable { + try { + const prices = this.http.get((this.apiUrl + '/prices')); + console.log(prices); + return prices; + } catch (exception) { + process.stderr.write(`ERROR received from ${this.apiUrl}: ${exception}\n`); + } + } }