# Codebase Documentation for plano_software-group/plano_software-project - dev - Mon, 02 Nov 2026 23:50:47 Este espacio documenta el backend de **Somos Plano** (`services/api`), para desarrolladores y operadores que necesitan entender cómo se ensambla, configura y mantiene la API. Incluye el arranque del servidor y la aplicación Express, el manifiesto del paquete y sus rutas, middleware y health check. También cubre utilidades de autenticación, identidad pública, cifrado, teléfonos, contraseñas, verificación de correo y errores; además de scripts para datos locales, digests y el ciclo de anonimización y purga de cuentas. Las guías describen sus dependencias, opciones, flujos y casos límite para ayudar a modificar componentes o ejecutar tareas de mantenimiento con mayor previsibilidad. Request any document URL with `Accept: text/markdown` to read it as Markdown. ## services / api / src / config - [altcha.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/config/altchajs) - [db.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/config/dbjs) - [env.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/config/envjs) - [imagekit.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/config/imagekitjs) - [media.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/config/mediajs) ## services / api / src / middlewares - [errorHandler.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/middlewares/errorhandlerjs) - [notFound.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/middlewares/notfoundjs) ## services / api / src / models - [AdminUser.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/adminuserjs) - [Campaign.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/campaignjs) - [Conversation.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/conversationjs) - [Lead.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/leadjs) - [Listing.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/listingjs) - [ListingComment.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/listingcommentjs) - [ListingEvent.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/listingeventjs) - [ListingLike.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/listinglikejs) - [MediaFileClaim.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/mediafileclaimjs) - [NotificationOutbox.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/notificationoutboxjs) - [PaymentOrder.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/paymentorderjs) - [PaymentTransaction.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/paymenttransactionjs) - [StripeWebhookEvent.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/stripewebhookeventjs) - [User.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/models/userjs) ## services / api / src / modules / auth - [account-export.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/auth/account-exportservicejs) - [auth.controller.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/auth/authcontrollerjs) - [auth.middleware.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/auth/authmiddlewarejs) - [auth.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/auth/authroutesjs) - [auth.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/auth/authservicejs) - [auth.validation.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/auth/authvalidationjs) - [google-identity.client.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/auth/google-identityclientjs) - [phone-verification.client.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/auth/phone-verificationclientjs) - [phone-verification.controller.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/auth/phone-verificationcontrollerjs) - [phone-verification.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/auth/phone-verificationservicejs) ## services / api / src / modules / campaigns - [campaigns.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/campaigns/campaignsroutesjs) - [campaigns.validators.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/campaigns/campaignsvalidatorsjs) ## services / api / src / modules / contact-gate - [contact-gate.controller.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/contact-gate/contact-gatecontrollerjs) - [contact-gate.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/contact-gate/contact-gateroutesjs) - [contact-gate.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/contact-gate/contact-gateservicejs) ## services / api / src / modules / conversations - [conversations.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/conversations/conversationsroutesjs) - [requirement-association.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/conversations/requirement-associationservicejs) ## services / api / src / modules / digest - [digest-recommendations.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/digest/digest-recommendationsjs) - [listing-performance-digest.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/digest/listing-performance-digestservicejs) ## services / api / src / modules / interpretation - [deterministic-amounts.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/interpretation/deterministic-amountsjs) - [deterministic-interpreter.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/interpretation/deterministic-interpreterjs) - [deterministic-location.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/interpretation/deterministic-locationjs) - [interpretation-contract.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/interpretation/interpretation-contractjs) - [real-estate-lexicon.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/interpretation/real-estate-lexiconjs) - [text-normalization.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/interpretation/text-normalizationjs) ## services / api / src / modules / leads - [leads.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/leads/leadsroutesjs) ## services / api / src / modules / listing-comments - [listing-comments.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listing-comments/listing-commentsroutesjs) ## services / api / src / modules / listing-events - [listing-events.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listing-events/listing-eventsroutesjs) ## services / api / src / modules / listing-likes - [listing-likes.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listing-likes/listing-likesroutesjs) ## services / api / src / modules / listings - [listing-interaction-policy.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/listing-interaction-policyjs) - [listing-match-eligibility.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/listing-match-eligibilityjs) - [listing-owner-view.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/listing-owner-viewjs) - [listing-public-assembly.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/listing-public-assemblyjs) - [listing-public-view.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/listing-public-viewjs) - [listing-referral.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/listing-referraljs) - [listing-write-sanitizer.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/listing-write-sanitizerjs) - [listings.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/listingsroutesjs) - [listings.validators.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/listingsvalidatorsjs) - [requirement-deletion.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/requirement-deletionservicejs) - [requirement-refinement.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/requirement-refinementjs) - [source-documents.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/source-documentsjs) - [source-documents.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/listings/source-documentsroutesjs) ## services / api / src / modules / match - [candidate-generation.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/match/candidate-generationjs) - [candidate-presentation.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/match/candidate-presentationjs) - [candidate-retrieval.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/match/candidate-retrievaljs) - [comparison-contract.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/match/comparison-contractjs) - [field-applicability.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/match/field-applicabilityjs) - [geo-distance.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/match/geo-distancejs) - [match-response.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/match/match-responsejs) - [match.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/match/matchroutesjs) ## services / api / src / modules / media - [media-claims.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/media/media-claimsservicejs) - [media.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/media/mediaservicejs) ## services / api / src / modules / notifications - [notification.client.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/notifications/notificationclientjs) - [notification.events.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/notifications/notificationeventsjs) - [notification.repository.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/notifications/notificationrepositoryjs) - [notification.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/notifications/notificationservicejs) - [notification.templates.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/notifications/notificationtemplatesjs) ## services / api / src / modules / payments / providers - [mercadopago.provider.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/payments/providers/mercadopagoproviderjs) - [stripe.provider.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/payments/providers/stripeproviderjs) ## services / api / src / modules / payments - [payments.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/payments/paymentsroutesjs) - [payments.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/payments/paymentsservicejs) - [payments.webhooks.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/payments/paymentswebhooksjs) ## services / api / src / modules / public - [public.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/public/publicroutesjs) ## services / api / src / modules / reconciliation - [deletion-inventory.classify.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/reconciliation/deletion-inventoryclassifyjs) - [deletion-inventory.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/reconciliation/deletion-inventoryservicejs) - [erasing-claim-evidence.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/reconciliation/erasing-claim-evidencejs) - [erasing-claim-reconciliation.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/reconciliation/erasing-claim-reconciliationservicejs) - [imagekit-probe.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/reconciliation/imagekit-probejs) - [pending-requirement-recovery.service.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/reconciliation/pending-requirement-recoveryservicejs) ## services / api / src / modules / uploads - [uploads.routes.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/modules/uploads/uploadsroutesjs) ## services / api / src / scripts / lib - [localMongoTarget.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/lib/localmongotargetjs) - [seedTargetGuard.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/lib/seedtargetguardjs) ## services / api / src / scripts - [anonymizeExpiredAccounts.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/anonymizeexpiredaccountsjs) - [auditOrphanListings.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/auditorphanlistingsjs) - [inventoryDeletionState.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/inventorydeletionstatejs) - [migrateLegacyAdmin.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/migratelegacyadminjs) - [migrateLegacyEmailVerification.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/migratelegacyemailverificationjs) - [migrateOptionalPhoneIndex.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/migrateoptionalphoneindexjs) - [migratePublicUsers.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/migratepublicusersjs) - [previewMatchForRequirement.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/previewmatchforrequirementjs) - [purgeExpiredAccounts.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/purgeexpiredaccountsjs) - [purgeHistoricalNotificationOutbox.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/purgehistoricalnotificationoutboxjs) - [resumePendingRequirementDeletions.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/resumependingrequirementdeletionsjs) - [seed.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/seedjs) - [sendListingPerformanceDigests.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/sendlistingperformancedigestsjs) - [sendPurgeWarnings.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/scripts/sendpurgewarningsjs) ## services / api / src / utils - [apiError.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/utils/apierrorjs) - [emailVerification.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/utils/emailverificationjs) - [encryption.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/utils/encryptionjs) - [jwt.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/utils/jwtjs) - [passwords.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/utils/passwordsjs) - [phone.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/utils/phonejs) - [publicUserIdentity.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/utils/publicuseridentityjs) ## services / api / src - [app.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/appjs) - [server.js](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/src/serverjs) ## services / api - [package.json](https://docs.docuwriter.ai/codebase-documentation-for-plano-software-groupplano-software-project-dev-mon-02-nov-2026-235047/services/api/packagejson)