@viridial/shared

Shared modules for Real Estate frontend applications - Vue 3, TypeScript, Pinia, Axios
11,575
Install
npm install @viridial/shared
Latest Version:1.0.79
Vue:3
License:MIT
Last Updated:Jan 5, 2026
Links: npm
Maintainer: viridialdev

📦 Shared Modules - Architecture Modulaire

Ce répertoire contient les modules partagés entre les trois applications frontend (admin, agent, public).

🏗️ Structure Modulaire

shared/
├── api/              # Services API réutilisables
├── stores/           # Stores Pinia partagés
├── composables/     # Composables Vue réutilisables
├── types/           # Types TypeScript partagés
├── utils/           # Utilitaires communs
├── constants/       # Constantes partagées
└── components/      # Composants UI réutilisables

📦 Modules Disponibles

1. API Module (api/)

Services API pour communiquer avec le backend :

  • auth.service.ts - Authentification
  • property.service.ts - Gestion des propriétés
  • user.service.ts - Gestion des utilisateurs
  • organization.service.ts - Gestion des organisations
  • http.client.ts - Client HTTP configuré (axios)

2. Stores Module (stores/)

Stores Pinia pour la gestion d'état :

  • auth.store.ts - État d'authentification
  • user.store.ts - Données utilisateur
  • property.store.ts - Propriétés
  • organization.store.ts - Organisations

3. Composables Module (composables/)

Composables Vue réutilisables :

  • useAuth.ts - Hook d'authentification
  • useApi.ts - Hook pour appels API
  • useToast.ts - Hook pour notifications
  • useForm.ts - Hook pour formulaires

4. Types Module (types/)

Types TypeScript partagés :

  • auth.types.ts - Types d'authentification
  • property.types.ts - Types de propriétés
  • user.types.ts - Types utilisateurs
  • api.types.ts - Types API génériques

5. Utils Module (utils/)

Utilitaires communs :

  • token.utils.ts - Gestion des tokens JWT
  • date.utils.ts - Formatage de dates
  • validation.utils.ts - Validation
  • format.utils.ts - Formatage

6. Constants Module (constants/)

Constantes partagées :

  • api.constants.ts - URLs API, endpoints
  • routes.constants.ts - Routes
  • config.constants.ts - Configuration

7. Components Module (components/)

Composants UI réutilisables :

  • Layout/ - Layouts communs
  • Forms/ - Formulaires réutilisables
  • Cards/ - Cartes spécialisées

🔧 Utilisation

Dans un projet frontend (admin/agent/public)

// Importer un service API
import { authService } from '@/shared/api/auth.service'

// Importer un store
import { useAuthStore } from '@/shared/stores/auth.store'

// Importer un composable
import { useAuth } from '@/shared/composables/useAuth'

// Importer un type
import type { User } from '@/shared/types/user.types'

// Importer une constante
import { API_ENDPOINTS } from '@/shared/constants/api.constants'

📝 Configuration

Chaque projet doit configurer le chemin @/shared dans son tsconfig.json :

{
  "compilerOptions": {
    "paths": {
      "@/*": ["./src/*"],
      "@/shared/*": ["../shared/*"]
    }
  }
}

Et dans vite.config.ts :

resolve: {
  alias: {
    '@': fileURLToPath(new URL('./src', import.meta.url)),
    '@/shared': fileURLToPath(new URL('../shared', import.meta.url))
  }
}

Related Packages

wd-frontend-shared

Shared components, helpers, composables and types for vue frontend SPAs

11,163 0
@whitedigital-eu/wd-frontend-shared

Shared components, helpers, composables and types for vue frontend SPAs

6,513 0
@acedatacloud/core

Shared frontend core for AceDataCloud's browser apps (AuthFrontend / Nexior / Pl...

25,692
oidc-login-plugin

A configurable Vue 3 plugin that adds router guards, axios interceptors, and pin...

1,516

Version History

Version Released Vue License
1.0.79 ^3.4.0 MIT
1.0.78 ^3.4.0 MIT
1.0.77 ^3.4.0 MIT
1.0.76 ^3.4.0 MIT
1.0.74 ^3.4.0 MIT