Objeto: Conjunto de datos estructurados
Los objetos en Angular se usan para almacenar datos estructurados. Puedes usar binding de datos para mostrar las propiedades del objeto en las plantillas
import { Component } from '@angular/core';
// objeto-persona.component.ts
@Component({
  selector: 'app-objeto-persona',    standalone: true,
  imports: [],
  template:`
    <h4>Objeto: Persona, Datos personales con Interpolación de datos </h4>
    <p>Nombre: {{persona1.nombre}}, Edad: {{persona1.edad}} años. </p>
    <p>Persona 2: {{ persona2.nombre}}, {{persona2.edad}},  {{persona2.sexo}} </p> 
  `,
  styles: `[]`
})
export class ObjetoPersonaComponent {
  //Objeto = Arreglo
  persona1 = { nombre: 'Antonio', edad: 30 };
  // Objeto Persona2
  persona2 = {nombre: 'Ricardo', edad: 45, sexo: 'masculino'};
}
Objetos y Array: Conjunto de datos de una persona: 
Crear nuevo proyecto: ng new conjunto-personas y creamos un componente interface llamado: interface-persona.component.ts
En Angular, las interfaces son tipos de datos personalizados que nos permiten establecer una estructura para los objetos que utilizamos en nuestra aplicación.  https://angular.dev/cli/generate/interface#. Los arrays en Angular se usan para almacenar listas de elementos. Puedes usar *ngFor para iterar sobre los elementos del array y mostrarlos en la plantilla.
ng generate interface  [name-interface] [type]
ng generate i  [name-interface] [type] // interface-persona.component.ts
// Definimos las variables y su unidad de medida, del objeto persona
export interface InterfacePersona {
    nombre: string;
    edad: number;
    sexo:string;
    escolaridad:string;
}
Agregamos la logica de programación y agregamos el componente creado al conjunto-personas.component.ts
// conjunto-personas.component.ts
import { Component } from '@angular/core';
// Importando la clase: interface interface-persona
import { InterfacePersona } from './interface-persona';
import { CommonModule } from '@angular/common';
@Component({
  selector: 'app-conjunto-personas',    standalone: true,   
  imports: [CommonModule],
  template: ` 
  <h4>Array de Objetos: Personas,  Datos personales </h4>
  <!--Dime = variable temporal de almacenamiento de los "datos = objeto persona", de "Personas"-->
<ul> 
	<li *ngFor="let Dime of Personas ">
        {{ Dime.nombre}}, {{Dime.edad}},  {{Dime.sexo}},  {{Dime.escolaridad}}
   </li>
</ul> 
  `,
  styles: `[]`
})
export class ConjuntoPersonasComponent {
    // Array de Objetos: Personas
  Personas:InterfacePersona [] = [
    { nombre: 'Richar', edad: 23, sexo: 'masculino', escolaridad: 'universidad' },
    { nombre: 'Marcos', edad: 56, sexo: 'masculino', escolaridad: 'licenciado' } ,
    { nombre: 'Selina', edad: 26, sexo: 'femenino', escolaridad: 'abogada' } ,
    { nombre: 'Romeo', edad: 36, sexo: 'masculino', escolaridad: 'secundaria' } ,
  ]
}
Formulario para Guardar Datos en una Base de Datos Local, angular v18
Crear un Nuevo Proyecto Angular:ng new database-app
cd database-app 
// creando componente: example
ng g c example
// abriendo en editor de codigo: Visual Studio Code
code .
Instalar Angular Forms y HttpClient:
 npm install @angular/forms @angular/common/http 
Configurar el Módulo Principal: app.component.ts 
// app.component.ts:
import { Component } from '@angular/core';
// Agregando clase ExampleComponent
import { ExampleComponent } from './example/example.component';
@Component({
  selector: 'app-root',
  standalone: true,
  // declarations:
  imports: [ExampleComponent ],
  template:` <app-example/> `,
  styles:`[]`
})
export class AppComponent {  }
Configurar el Archivo:  app.config.ts
// Archivo:  app.config.ts
import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';
import { provideRouter } from '@angular/router';
import { routes } from './app.routes';
import { provideClientHydration } from '@angular/platform-browser';
// Importando la clase o modulo
import { provideHttpClient } from '@angular/common/http';
export const appConfig: ApplicationConfig = {
  providers: [
    provideZoneChangeDetection({ eventCoalescing: true }),
    provideRouter(routes), provideClientHydration(),
    // Agregando el servicio y funcion HttpClient()
    provideHttpClient() ,
  ]
};  
Configurar el Componente: example.component.ts:
// example.component.ts
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { FormsModule } from '@angular/forms';
@Component({
  selector: 'app-example',
  standalone: true,
  imports: [FormsModule, ],
  templateUrl: './example.component.html',
  styles: `[]`
})
export class ExampleComponent {
  model = {
    name: '',
    email: ''
  };
  constructor(private http: HttpClient) {}
  onSubmit() {
    this.http.post('http://localhost:3000/users', this.model)
      .subscribe(response => {
        console.log('Data saved:', response);
      });
  }
}
 Configurar archivo: example.component.html:
<form (ngSubmit)="onSubmit()" #form="ngForm">
<label for="name">Name:</label>
<input type="text" id="name" required [(ngModel)]="model.name" name="name">
<label for="email">Email:</label>
<input type="email" id="email" required [(ngModel)]="model.email" name="email">
<button type="submit" [disabled]="!form.valid">Submit</button>
</form> 
Configuración del servidor backend con JSON Server: 
Este código de Angular junto con el JSON Server permite crear y gestionar un formulario reactivo que guarda los datos en una base de datos local simulada.
API using HttpClient | Angular 18 - | Angular CRUD https://youtu.be/IXcMAHdJy3o?t=375
1- Instala JSON Server:
// bash
npm install -g json-server
// Entrando a la carpeta del proyecto APP
cd database-app 2- Crea un archivo db.json en la raíz de tu proyecto con el siguiente contenido: 
//Creando el archivo: db.json y agreando el contenido
{ "users": [] }
3- Inicia JSON Server:
// bash
json-server --watch db.json --port 3000
C:\ANGULAR-v18\Cmder_Consola\database-app (master)
 json-server --watch db.json --port 3000
  \{^_^}/ hi!
  Loading db.json
  Done
  Resources
  http://localhost:3000/users
  Home
  http://localhost:3000
  4. Agregar al archivo app.config.ts el servicio provideHttpClient y funcion provideHttpClient() 
 // Archivo:  app.config.ts
// Importando la clase o modulo
import { provideHttpClient } from '@angular/common/http';
export const appConfig: ApplicationConfig = {
  providers: [
    // Agregando el servicio y funcion HttpClient()
    provideHttpClient() ,
  ]
};
5. Archivo template:
//  database2.component.ts
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { FormsModule } from '@angular/forms';
@Component({
  selector: 'app-database2',
  standalone: true,
  imports: [FormsModule, ],
  template: `
<form (ngSubmit)="onSubmit()" #form="ngForm">
<label for="name">Name:</label>
<input type="text" id="name" required [(ngModel)]="model.name" name="name">
<label for="email">Email:</label>
<input type="email" id="email" required [(ngModel)]="model.email" name="email">
<button type="submit" [disabled]="!form.valid">Submit</button>
</form>
  `,
  styles: `[]`
})
export class DataBase2Component {
    title = 'Data-base2';
    model = {
      name: '',
      email: ''
    };
    constructor(private http: HttpClient) {}
    onSubmit() {
      this.http.post('http://localhost:3000/users', this.model)
        .subscribe(response => {
          console.log('Data saved:', response);
        });
    }
}
...
...