/angular-guide > _

პროექტის მომზადება

ამ პრიექტის დასრულებული ვერსია შეგიძლიათ ნახოთ აქ, თუმცა რეკომენდირებულია, რომ ჯერ გაკვეთილს მიყვეთ და დასრულებულ კოდს მხოლოდ იმ შემთხვევაში ჩახედოთ, თუკი გაიჭედებით.

გავცეთ ბრძანება ახალი პროექტის შესაქმნელად:

ng new todo-rxjs

აპლიკაციაში არ გამოვიყენებთ რაუთინგს. მარკაპისთვის გამოვიყენებთ ბუტსტრაპს. მას index.html-ში შემოვიტანთ CDN-ის საშუალებით:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>Todo Rxjs</title>
    <base href="/" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="icon" type="image/x-icon" href="favicon.ico" />
    <link
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css"
      rel="stylesheet"
      integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ"
      crossorigin="anonymous"
    />
  </head>
  <body>
    <app-root></app-root>
    <script
      src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.min.js"
      integrity="sha384-Y4oOpwW3duJdCWv5ly8SCFYWqFDsfob/3GkgExXKV4idmbt98QcxXYs9UoXAB7BZ"
      crossorigin="anonymous"
    ></script>
  </body>
</html>

app.config.ts-ში შემოვიტანოთ provideHttpClient:

import { ApplicationConfig } from "@angular/core";
import { provideHttpClient } from "@angular/common/http";

export const appConfig: ApplicationConfig = {
  providers: [provideHttpClient()],
};

AppComponent-ის იმპორტებში შემოვიტანოთ FormsModule:

import { FormsModule } from "@angular/forms";
@Component({
  imports: [/* ... */ FormsModule]
})

ახლა პატარა ბექენდის სიმულატორი გვჭირდება. ამ პროექტში გამოვიყენებთ json-server ბიბლიოთეკას, რომელიც ლოკალურად უნდა დავაინსტალიროთ პროექტში:

npm install json-server

ეს ბიბლიოთეკა საშუალებას მოგვცემს რომ მარტივი მონაცემთა ბაზა შევქმნათ, როგორც JSON-ის ფაილი და გავუშვათ ბექენდ სერვერი.

აპლიკაციის ზედა დონეზე შევქმნათ ფაილი database.json და მასში რამდენიმე სატესტო ობიექტი შევიტანოთ todo თვისების შიგნით მასივში:

{
  "todos": [
    {
      "title": "Walk the dog",
      "done": false,
      "id": 1
    },
    {
      "title": "Call grandma",
      "done": true,
      "id": 2
    },
    {
      "title": "Buy groceries",
      "done": false,
      "id": 3
    }
  ]
}

ახლა package.json-ში დავამატოთ სკრიპტი, რათა ჩავრთოთ json-srrver და მას გამოვაყენებინოთ database.json-ს. სკრიპტს scripts ველში ვამატებთ server სახელით.

  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "watch": "ng build --watch --configuration development",
    "test": "ng test",
    "server": "json-server database.json"
  },

ახლა თუ ჩვენ ტერმინალში გავუშვებთ ბრძანებას npm run server ის გააქტიურებს json-server-ს. ეს სერვერი უნდა აქტიური იყოს, რათა ფრონტენდმა მასთან კავშირი დაამყაროს.

ტერმინალის მეორე ინსტანცია გავხსნათ და მანდ გავუშვათ npm run start ან ng serve. ახლა ფრონტენდის და ბექენდის სერვერები გააქტიურებულია და მზად ვართ რომ პროექტზე მუშაობა დავიწყოთ.

შევუდგეთ სთეითის ინიციალიზაციას!