1- # 🚀 Angular LocalStorage Service
1+ < h1 align = " center " >🗄️ Angular LocalStorage Service</ h1 >
22
3- Aplicación desarrollada en ** Angular 16** que implementa un servicio reutilizable para manejar LocalStorage mediante prefijos configurables y pipes personalizadas.
3+ <p align =" center " >
4+ <img src =" https://img.shields.io/badge/Angular-16-DD0031?logo=angular&logoColor=white " alt =" Angular " />
5+ <img src =" https://img.shields.io/badge/TypeScript-5.x-3178C6?logo=typescript&logoColor=white " alt =" TypeScript " />
6+ <img src =" https://img.shields.io/badge/LocalStorage-Service-4285F4?logo=googlechrome&logoColor=white " alt =" LocalStorage Service " />
7+ <img src =" https://img.shields.io/badge/Status-Completed-brightgreen " alt =" Completed " />
8+ </p >
49
5- El proyecto encapsula operaciones de almacenamiento para evitar acceso directo a ` localStorage ` .
10+ <p align =" center " >
11+ <a href =" https://github.com/alobuuls/angular-localstorage-service " target =" _blank " ><img src =" https://img.shields.io/badge/GitHub-Repository-181717?logo=github&logoColor=white " alt =" Repository " /></a >
12+ <a href =" https://github.com/alobuuls/angular-localstorage-service/stargazers " target =" _blank " ><img src =" https://img.shields.io/github/stars/alobuuls/angular-localstorage-service?style=social " alt =" GitHub Stars " /></a >
13+ <a href =" https://github.com/alobuuls/angular-localstorage-service/commits/main " target =" _blank " ><img src =" https://img.shields.io/github/last-commit/alobuuls/angular-localstorage-service " alt =" Last Commit " /></a >
14+ </p >
615
716---
817
9- ## ⚙️ Requisitos del sistema
18+ ## 📑 Table of Contents
1019
11- Antes de ejecutar el proyecto, asegúrate de tener instalado:
20+ * [ 🗄️ Angular LocalStorage Service ] ( #️-angular-localstorage-service )
1221
13- - 📦 ** Node.js:** ` v18+ ` * (preferiblemente v18.10.0)*
14- - 📦 ** npm:** ` v9+ `
22+ * [ 🌐 Live Demo] ( #-live-demo )
23+ * [ 📖 Description] ( #-description )
24+ * [ ⚙️ System Requirements] ( #️-system-requirements )
25+ * [ 🚀 Project Installation] ( #-project-installation )
26+ * [ ▶️ Run the Project] ( #️-run-the-project )
27+ * [ 🧠 Project Architecture] ( #-project-architecture )
28+ * [ ✨ Features] ( #-features )
29+ * [ 🛠 Technologies Used] ( #-technologies-used )
30+ * [ 📁 Project Structure] ( #-project-structure )
31+ * [ 🔥 Best Practices Implemented] ( #-best-practices-implemented )
32+ * [ 🎯 Project Goal] ( #-project-goal )
33+ * [ 📄 License] ( #-license )
34+
35+ ---
36+
37+ ## 🌐 Live Demo
38+
39+ 🔗 https://alobuuls.github.io/angular-localstorage-service/
40+
41+ ---
42+
43+ ## 📖 Description
44+
45+ > [ !NOTE]
46+ > An Angular 16 application that implements a reusable LocalStorage service with configurable key prefixes and custom pipes.
47+
48+ The project demonstrates how to encapsulate browser storage operations behind reusable Angular services and modules, avoiding direct access to the Local Storage API while improving maintainability, scalability, and code organization.
49+
50+ ---
51+
52+ ## ⚙️ System Requirements
53+
54+ Before running the project, make sure you have installed:
55+
56+ - 📦 ** Node.js:** ` v16.14.x – v18.x ` * (recommended: v18 LTS)*
57+ - 📦 ** npm:** ` v8+ `
1558- 🅰️ ** Angular CLI:** ` v16.x `
1659
60+ ## Recommended using nvm
61+
62+ ``` bash
63+ nvm install 18
64+ nvm use 18
65+ ```
66+
1767---
1868
19- ## 🔍 Verificar versiones instaladas
69+ ## 🔍 Verify Installed Versions
2070
21- Ejecuta :
71+ Run the following commands in your terminal :
2272
2373``` bash
2474node -v
@@ -28,107 +78,181 @@ ng version
2878
2979---
3080
31- ## 🚀 Instalación del proyecto
81+ ## 🚀 Project Installation
3282
33- ### 1️⃣ Clonar repositorio
83+ ### 1️⃣ Clone the repository
3484
3585``` bash
36- git clone < URL_DEL_REPO>
86+ git clone git@github.com:alobuuls/angular-localstorage-service.git
87+
3788cd angular-localstorage-service
3889```
3990
40- ### 2️⃣ Instalar dependencias
91+ ### 2️⃣ Install dependencies
4192
4293``` bash
4394npm install
4495```
4596
4697---
4798
48- ## ▶️ Ejecutar proyecto
99+ ## ▶️ Run the Project
100+
101+ Start the development server:
49102
50103``` bash
51104ng serve
52105```
53106
54- Luego abre :
107+ Then open :
55108
56- ``` bash
109+ ``` text
57110http://localhost:4200
58111```
59112
60113---
61114
62- ## 🧠 Arquitectura del proyecto
115+ ## 🧠 Project Architecture
63116
64- El proyecto centraliza acceso a LocalStorage usando un servicio compartido .
117+ The application follows a reusable architecture based on Angular services, modules, and custom pipes .
65118
66- ### 📦 LocalstorageService
119+ ### 🗄️ LocalStorage Service
67120
68- Permite :
121+ Responsible for :
69122
70- - Guardar valores
71- - Obtener valores
72- - Limpiar storage
73- - Configurar prefijos
74- - Evitar colisiones entre claves
123+ * Saving values into Local Storage
124+ * Retrieving stored values
125+ * Removing stored values
126+ * Managing configurable prefixes
127+ * Preventing key collisions
75128
76- ---
129+ ### 🔄 LocalStorage Pipe
77130
78- ## 📦 LocalstoragePipe
131+ Responsible for:
79132
80- Pipe personalizada para obtener valores almacenados directamente desde templates:
133+ * Reading Local Storage values from templates
134+ * Simplifying UI integration
135+ * Improving template readability
136+
137+ Example:
81138
82139``` html
83- {{ 'clave1 ' | localstorage }}
140+ {{ 'userName ' | localstorage }}
84141```
85142
86- ---
143+ ### 📦 LocalStorage Module
87144
88- ## ⚙️ Funcionalidades principales
145+ Responsible for:
89146
90- - 💾 Guardar información en LocalStorage
91- - 🔍 Obtener datos mediante pipe
92- - 🧹 Limpiar almacenamiento por prefijo
93- - ⚙️ Configuración inicial con APP_INITIALIZER
94- - 🧩 Servicio reutilizable
147+ * Centralizing storage configuration
148+ * Registering providers
149+ * Initializing storage settings
150+
151+ ### 🏠 App Component
152+
153+ Responsible for:
154+
155+ * Demonstrating storage operations
156+ * Consuming the storage service
157+ * Testing persistence functionality
95158
96159---
97160
98- ## 🛠️ Tecnologías utilizadas
161+ ## ✨ Features
99162
100- - 🅰️ Angular 16
101- - ⚡ TypeScript
102- - 🧠 Angular Pipes
103- - 💾 Browser LocalStorage API
104- - 🔧 APP_INITIALIZER
163+ * 💾 Store data in Local Storage
164+ * 🔍 Retrieve values through a custom pipe
165+ * 🧹 Clear storage by prefix
166+ * ⚙️ Configurable key prefixes
167+ * 📦 Reusable LocalStorage Service
168+ * 🔄 Custom Angular Pipe
169+ * 🚀 APP_INITIALIZER Configuration
170+ * ♻️ Encapsulated Browser Storage Access
105171
106172---
107173
108- ## 📁 Estructura del proyecto
174+ ## 🛠 Technologies Used
109175
110- ``` bash
111- src/app/
112- ├── localstorage/
113- │ └── localstorage.module.ts
114- ├── localstorage.pipe.ts
115- ├── localstorage.service.ts
116- ├── app.module.ts
117- ├── app.component.ts
176+ | Technology | Purpose |
177+ | ------------| ---------|
178+ | Angular 16 | Front-End Framework |
179+ | TypeScript | Application Logic |
180+ | Local Storage API | Browser Persistence |
181+ | Angular Services | Business Logic |
182+ | Angular Pipes | Template Data Access |
183+ | Angular Modules | Feature Organization |
184+ | APP_INITIALIZER | Application Bootstrap Configuration |
185+
186+ ---
187+
188+ ## 📁 Project Structure
189+
190+ ``` text
191+ angular-localstorage-service/
192+
193+ ├── src/
194+ │
195+ ├── app/
196+ │ ├── localstorage/
197+ │ │ └── localstorage.module.ts
198+ │ │
199+ │ ├── localstorage.service.ts
200+ │ ├── localstorage.pipe.ts
201+ │ │
202+ │ ├── app.component.ts
203+ │ ├── app.component.html
204+ │ ├── app.component.css
205+ │ └── app.module.ts
206+ │
207+ ├── main.ts
208+ ├── styles.css
209+ ├── index.html
210+ │
211+ ├── angular.json
212+ ├── package.json
213+ ├── tsconfig.json
214+ └── README.md
118215```
119216
120217---
121218
122- ## 🔥 Buenas prácticas implementadas
219+ ## 🔥 Best Practices Implemented
123220
124- - Encapsulación del acceso a LocalStorage
125- - Configuración inicial con APP_INITIALIZER
126- - Reutilización mediante servicios
127- - Separación de responsabilidades
128- - Uso de pipes personalizadas
221+ * Service-based Architecture
222+ * Separation of Concerns
223+ * Encapsulation of Browser APIs
224+ * Dependency Injection
225+ * APP_INITIALIZER Configuration
226+ * Reusable Angular Modules
227+ * Custom Pipes
228+ * Strong Typing with TypeScript
229+ * Centralized Storage Management
230+ * Clean Project Organization
231+ * Scalable Front-End Design
129232
130233---
131234
132- ## 📄 Licencia
235+ ## 🎯 Project Goal
236+
237+ Practice and strengthen Angular architecture concepts through the implementation of a reusable LocalStorage abstraction layer.
238+
239+ Key concepts covered:
240+
241+ * Angular Services
242+ * Angular Pipes
243+ * Angular Modules
244+ * APP_INITIALIZER
245+ * Local Storage API
246+ * Dependency Injection
247+ * Browser Data Persistence
248+ * Reusable Architecture Patterns
249+ * TypeScript Best Practices
250+ * Front-End Application Design
251+
252+ ---
253+
254+ ## 📄 License
255+
256+ This project is intended for educational and portfolio purposes.
133257
134- Este proyecto es de uso educativo y forma parte de un portafolio personal .
258+ Created by ** Alondra Francisco ** .
0 commit comments