|
| 1 | +# Idealizerr |
| 2 | +* [Prod: project.com](https://project.com) |
| 3 | +* [Dev: beta.project.com](https://project.com) |
| 4 | +* [Invision](https://project.com) |
| 5 | +* [Sketch](https://project.com) |
| 6 | +* Version: [1.0.0](https://project.com) |
| 7 | +* Front-end dev: [Emil Alisgandarov](https://project.com)(+994 70 750 00 52) (emilaliinfo@gmail.com) |
| 8 | +* Back-end dev: [---](https://project.com) |
| 9 | +* Company: [Company](https://project.com) |
| 10 | + |
| 11 | +# Used languages |
| 12 | +* HTML |
| 13 | +* CSS(SCSS) |
| 14 | +* Javascript |
| 15 | +* Typescript |
| 16 | + |
| 17 | +# Used framework |
| 18 | +* Version:7.2.0 [Angular](https://angular.io/) |
| 19 | + |
| 20 | +## Install dependencies |
| 21 | +`npm install` |
| 22 | + |
| 23 | +## Start development server with hot reload |
| 24 | +* `ng serve` [localhost:4200](http://localhost:4200) |
| 25 | +* `ng serve --open` [localhost:4200](http://localhost:4200) open at default browser |
| 26 | +* `ng serve --host 0.0.0.0` [localhost:4200](http://localhost:4200) or [ip:4200](http://localhost:4200) for testing on mobil [acces all devices connect same wifi] |
| 27 | + |
| 28 | +## Build for production and view the bundle analyzer report |
| 29 | +* `ng build --prod` |
| 30 | +* `ng build --prod --vendor-chunk=true` |
| 31 | + |
| 32 | +## Used dependencies |
| 33 | +* [ngx-translate](https://github.com/ngx-translate/core) |
| 34 | +* [jquery](https://www.npmjs.com/package/jquery) |
| 35 | +* [bootstrap-grid](https://getbootstrap.com/) |
| 36 | +* [semantic-ui](https://semantic-ui.com/) |
| 37 | +* [slick-carousel](https://kenwheeler.github.io/slick/) |
| 38 | +* [countdow-flipclockjs](http://flipclockjs.com/) |
| 39 | +* [aos-animate-scroll](https://github.com/michalsnik/aos) |
| 40 | +* [flipclock](https://www.npmjs.com/package/flipclock) |
| 41 | + |
| 42 | +## Used fonts |
| 43 | +* [Inter](https://rsms.me/inter/) |
| 44 | +* [Materialdesignicons](https://materialdesignicons.com/) |
| 45 | + |
| 46 | +## Structure |
| 47 | + . |
| 48 | + ├── app |
| 49 | + │ └── modules |
| 50 | + │ ├── dashboard |
| 51 | + │ ├── auth |
| 52 | + │ ├── core |
| 53 | + │ └── shared |
| 54 | + │ |
| 55 | + ├── assets |
| 56 | + │ ├── favicon |
| 57 | + │ ├── fonts |
| 58 | + │ ├── i18n |
| 59 | + │ ├── images |
| 60 | + │ ├── json |
| 61 | + │ └── scss |
| 62 | + └── ... |
| 63 | + |
| 64 | + |
| 65 | +## Angular Pipes |
| 66 | +* -- |
| 67 | + |
| 68 | +## Angular Guards |
| 69 | +* Auth |
| 70 | +* NonAuth |
| 71 | + |
| 72 | +## Angular Interceptors |
| 73 | +* Auth |
| 74 | +* Language |
| 75 | + |
| 76 | +## Angular Services |
| 77 | +* Auth |
| 78 | +* Cookie |
| 79 | +* Language |
| 80 | +* Urls |
| 81 | + |
| 82 | +## Git commit categories |
| 83 | +* DONE: |
| 84 | +* FIX: |
| 85 | +* UPDATE: |
| 86 | +* PERF: |
| 87 | +* REFACTOR: |
| 88 | +* TEST: |
| 89 | +* NEW: |
| 90 | + |
| 91 | + |
| 92 | +## Naming convention |
| 93 | +* Functions : `getData()` |
| 94 | +* Variables : `user_surname` |
| 95 | +* Dependency injections : `LOCATION_SERVICE: LocationService` |
| 96 | + |
| 97 | + |
| 98 | +## Set olunan `cookie` və `localStorage` nameləri |
| 99 | +* LocalStorage ve Cookie name(key)-ləri `src/app/environments/variables.ts` => `variables`-da saxlanılır. |
| 100 | +* Əgər hərhansı name(key)-i dəyişmək lazım olsa qeyd olunan sourcedən dəyişmək kifayətdir. |
| 101 | + |
| 102 | +## Tərcümələr |
| 103 | +* Tərcümələr `assets/i18n/**.json` fayllarının altındadır və [ngx-translate](https://github.com/ngx-translate/core) ilə tənzimlənir. |
| 104 | +* "app.component.ts" faylında ctor-da `private LANGUAGE :LanguageService` kimi injection məcburidirki translate funksiyaları işlək hala düşsün. |
| 105 | +* Lazy loading modullarda `TranslateModule`-u importlara əlavə etmək lazımdır. |
| 106 | +* "language.service.ts" servisi `current_lang = 'en';` ilə applicationun ilkin yüklənmədə istifadə edəcəyi dili seçə bilərsiniz. |
| 107 | +* "language.interceptors.ts" interceptoru hər göndərilər requestin header-inə `Accept-Language=en` set edir və api headerdə göndərilən dilə uygun response qaytarır. |
| 108 | +* Language interceptorumuz app.module.ts faylında `providers:[]` arrayında `{ provide: HTTP_INTERCEPTORS, useClass: LanguageInterceptor, multi: true}` şəkildə təyin olunmalıdır. |
| 109 | +* `/settings/integrations` url-i atlında dil istifadə üçün dil dəyişmək select-i var. və bu select "language.service.ts" - dəki `switchLang(language: string)` funksiyasını işlədir. |
| 110 | +* Page title-larıda öz mətnlərini tərcümə edilmiş şəkildə istifadə etməlidirlər. İstifadə edəcəyimiz componentdə `private LANGUAGE: LanguageService` injection olunmalıdır və `ngAfterViewInit()` funksiyasında "language.service.ts" - dəki `SetPageTitle(translate_key:string)` funksiyası vasitəsilə page title əlavə etmək olur. |
| 111 | +* Language `localStorage`-də saxlanılır və key `src/app/environments/variables/ts` => `variables.local_storage.language` de qeyd olunub. Əgər localStorage keyini dəyişmək lazım olsa qeyd olunan sourcedən dəyişmək kifayətdir. |
| 112 | +"# idealizerr.com" |
0 commit comments