Init project

This commit is contained in:
2025-08-27 12:47:23 +04:00
commit 9ee249de29
24 changed files with 2449 additions and 0 deletions

View File

@@ -0,0 +1,100 @@
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { ReactiveFormsModule } from '@angular/forms';
// Angular Material
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatCardModule } from '@angular/material/card';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatSelectModule } from '@angular/material/select';
import { MatSnackBarModule } from '@angular/material/snack-bar';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import { MatDialogModule } from '@angular/material/dialog';
import { MatListModule } from '@angular/material/list';
import { MatChipsModule } from '@angular/material/chips';
import { MatBadgeModule } from '@angular/material/badge';
// NgRx
import { StoreModule } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
// QR Scanner
import { ZXingScannerModule } from '@zxing/ngx-scanner';
// Components
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { HeaderComponent } from './components/header/header.component';
import { QRScannerComponent } from './components/qr-scanner/qr-scanner.component';
import { LocationDetailsComponent } from './components/location-details/location-details.component';
import { ItemListComponent } from './components/item-list/item-list.component';
import { SearchComponent } from './components/search/search.component';
// Services
import { AuthInterceptor } from './services/auth.interceptor';
// Store
import { appReducers } from './store/app.reducers';
import { AppEffects } from './store/app.effects';
// Environment
import { environment } from '../environments/environment';
@NgModule({
declarations: [
AppComponent,
HeaderComponent,
QRScannerComponent,
LocationDetailsComponent,
ItemListComponent,
SearchComponent
],
imports: [
BrowserModule,
BrowserAnimationsModule,
HttpClientModule,
ReactiveFormsModule,
AppRoutingModule,
// Angular Material
MatToolbarModule,
MatButtonModule,
MatIconModule,
MatCardModule,
MatFormFieldModule,
MatInputModule,
MatSelectModule,
MatSnackBarModule,
MatProgressSpinnerModule,
MatDialogModule,
MatListModule,
MatChipsModule,
MatBadgeModule,
// QR Scanner
ZXingScannerModule,
// NgRx
StoreModule.forRoot(appReducers),
EffectsModule.forRoot([AppEffects]),
StoreDevtoolsModule.instrument({
maxAge: 25,
logOnly: environment.production
})
],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: AuthInterceptor,
multi: true
}
],
bootstrap: [AppComponent]
})
export class AppModule { }

12
frontend/src/main.ts Normal file
View File

@@ -0,0 +1,12 @@
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.error(err));