multipart-specialist-docs

Implements specialist registration with DNI and title image uploads via multipart/form-data from React Native to Express.

Updated May 1, 2026
One-click install
npx skills add https://github.com/RomeroSilvia/Eos --skill multipart-specialist-docs-romerosilvia
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: multipart-specialist-docs
Source: https://github.com/RomeroSilvia/Eos/tree/main/agents/skills/multipart-specialist-docs
Command: npx skills add https://github.com/RomeroSilvia/Eos --skill multipart-specialist-docs-romerosilvia

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Specialist registration in the EOS app requires uploading verification documents (DNI photo and professional title photo) from a React Native mobile app to an Express backend, which involves tricky multipart/form-data handling, correct FormData construction, multer configuration, and private Supabase Storage uploads. ## Core Features & Use Cases - Frontend Upload Flow: Builds a FormData payload with specialty, licenseNumber, dniPhoto, and titlePhoto using expo-image-picker, letting fetch set the Content-Type boundary automatically. - Backend File Handling: Receives files with multer memoryStorage using named fields, validates required inputs, and restricts specialties to dermatologo and cosmetologo. - Private Storage & Persistence: Uploads documents to the private Supabase Storage bucket specialist-docs under per-user paths and inserts a specialist_profiles row with license_status set to pending. - Use Case: When implementing Módulo 3 (Registro de Especialista), follow this workflow to wire the mobile image pickers to the Express endpoint and store verification documents securely without exposing public URLs. ## Quick Start Implement the specialist registration endpoint that accepts DNI and title photos from the React Native app and stores them in the private Supabase specialist-docs bucket.

Frequently Asked Questions about multipart-specialist-docs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I upload images from React Native to Express with multipart/form-data?

Build a FormData object appending each image as an object with uri, name, and type properties, then send it with fetch. Do not manually set the Content-Type header; let fetch generate the multipart boundary automatically.

How to receive multiple file fields with multer in Express?

Use multer with memoryStorage and the fields method, declaring each expected field name with maxCount, such as dniPhoto and titlePhoto. The uploaded files then appear on req.files keyed by field name.

Why should I not set Content-Type manually when sending FormData from React Native?

Manually setting Content-Type breaks the request because the multipart boundary parameter would be missing or incorrect. Letting fetch set the header ensures the boundary matches the encoded body.

Can Supabase Storage files be kept private for sensitive documents?

Yes, use a private bucket like specialist-docs so uploaded files are not publicly accessible. Do not assume public URLs; use a signed URL strategy if the project already has one.

What validation is required for specialist document registration?

Reject the request if specialty, licenseNumber, dniPhoto, or titlePhoto is missing. Specialty must be one of the allowed values dermatologo or cosmetologo before inserting into specialist_profiles.