Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
MM por Mind Map: MM

1. Información que los usuarios registran en BD de Pertendo

1.1. Ratings

1.1.1. F-Writable (+Readable documento sólo por autor o por admin)

1.1.1.1. Crear un documento con tu rating (para que después se pueda revisar, corregir, etc)

1.1.1.2. Debe tener validación en Cloudant para que no pueda ingresar duplicados (Validate_Doc_Update)

1.1.2. N-Invisible

1.1.2.1. Node.js está conectado. Lee información, la agrega a base de datos en Node.js, genera promedio

1.1.3. C-Readable por todos (de hecho es la BD de lpf's/eventos)

1.1.3.1. Node.js escribe en otra BD que es sólo readable con: Promedio y comentario, si lo hubiera.

1.2. Eventos

1.2.1. Alta: A través de web

1.2.1.1. PHP sanitiza, se asegura que el contenido esté bien y lo sube a C-Readable por todos

1.2.2. Interés de asistencia

1.2.2.1. F-Writable, aparte, sólo para asistencias

1.2.2.1.1. Con Cludant Validate se puede hacer? NO. Se requiere similar a Ratings.. Pero de momento simplemente incrementa el número directamente (RIESGO!!!! - totalmente abierto a que haga lo que quiera el cliente - BD separada)

1.2.2.1.2. SWITCH GENERAL en caso de despapaye.. Apaga funcionalidad asistencias

1.2.2.2. Futuro: C-Writable (Same as above) + N-Invisible (Saber quienes son)+ C-Readable de eventos

1.3. Mascota Perdida

1.3.1. Subir información

1.3.1.1. F-Writable

1.3.1.1.1. Crear un documento con tu información

1.3.1.1.2. El documento se queda ahí para que pueda ser "editado" por la persona que lo subió (incluido marcar como "encontrado"

1.3.1.2. Node.js (sin BD?)

1.3.1.3. C-Readable

1.3.1.3.1. Node.js valida que la información sea correcta y sube la info al la BD readable por todos

1.4. Expande

1.4.1. Expande

1.4.1.1. F-Writable

1.4.1.1.1. A) el usuario X Crea un documento con tu información (utiliza validate para asegurarte que todo ok) (o quizá no, pues como quiera se requiere Node.js para hacer los matches)

1.4.1.1.2. Cada vez que entra el usuario a la opción de encontrar, se detona un Node.js para que haga matches.. Node.js en posición de administrador, busca matches entre todos los documentos creados en (A).. Y enotnces inserta los correspondientes en el Usuario X. El usuario X solo tiene acceso a los datos que le dio Node.js

1.4.1.2. Node.js

1.4.1.2.1. Node.js tiene que estar corriendo continuamente.. En cuanto entra un nuvo usuario (que se genere un nuevo documento), se corren todas las idnicaciones para hacer copias de los documentos en los usuarios correspondientes.. Dejar a la aplicación la decisión de cómo mostrarlos.. (lista, tinder style, etc)

1.4.2. Chat

1.4.2.1. Firebase - to be decided

1.5. LPF - no aplica.. todo es input de PERTENDO

2. Generales

2.1. Creación de usuarios

2.1.1. FirebaseAuth

2.1.1.1. Al mismo tiempo en Node.js se detona la creación de usuario en Cloudant (API Key) y se guarda en el registro de Firebase del usuario.. Ya no se requiere!! Lo que es de un usuario, se crea en Firebase y Node.js lo arrastra hacia Cloudant :) https://dx13.co.uk/articles/2016/4/11/using-a-cloudant-api-key-with-multiple-cloudant-databases-and-accounts.html https://www.ibm.com/support/knowledgecenter/SSHSCD_7.0.0/com.ibm.worklight.dev.doc/cloud/data/t_data_cloudantsec.html

2.2. Node.js : Openshift? A2Hosting?

3. Estructura de BD's

3.1. Ideas Generales

3.1.1. Necesitas una BD en Node.js cuando requieres ocultar información y la BD Hosting no lo permite (Cloudant no lo permite).. Middle man, como quien dice. Explotar NODO para ejemplos

3.1.1.1. Ratings: Requieres que sólo se pueda poner un rating, pero para hacer la comparativa tiene que ser serverside pues no quieres que todos tengan acceso a los UID's

3.1.1.2. Interés de asistencia: Para saber quienes asistirán y ya después decidir si compartir o no

3.1.1.3. Solicitud de asistencia: Sólo debe tener acceso a la solicitud de asistencia quien creó el evento

3.1.1.4. Expande: Listado de interesados.. Obviamente no te interesa compartir más que los que aplican..

3.1.2. Cuando no se requiere ocultar info, puede ser sin BD Intermedia.

3.1.2.1. Mascotas perdidas, la info es publica 100%.. Quizá se pudiera hacer sin Node.js, a través de Validate de Cloudant.. Pero mejor lo hacemos así para hacerlo más debuggeable. Además, queremos generar una BD leíble por todos al mismo tiempo que el usuario puede editar su post. Por eso es mejor dos bases de datos.

3.1.3. CouchDB

3.1.3.1. "Design Documents"

3.2. Cloudant

3.2.1. C - EventosList

3.2.2. C - EventosInst

3.2.3. C - LugaresPF

3.2.4. C - MascPerdidas

3.3. Node.js

3.3.1. RateDBiM

3.3.2. AsistEvent ( Futuro )

3.4. Firebase

3.4.1. EventosInstAsist (W)

3.4.2. LugaresPFRate (W)

3.4.3. MiMascPerdida (W)

3.4.4. MiSocial (W)

3.4.4.1. Es tanto mi disponibilidad así como lo que Node.js ha escrito para mis "matches"

3.4.5. MisChats (W)

4. Funcionalidad

4.1. Eventos

4.1.1. Alta de eventos

4.1.1.1. Desde Web

4.1.1.1.1. Por Pertendo

4.1.1.1.2. Por externos

4.1.2. Ratings.. AÚN NO (Sólo en LPF)

4.1.3. En App

4.1.3.1. Asistirás?

4.1.3.2. Jalar información de BD al Array "Eventos"

4.1.3.2.1. De BD instancias + BD eventos

4.1.3.3. Poner "agregar a mi historia"

4.1.3.4. Manejar de alguna manera los eventos pasados (en algunos pusiste "Asistiré")

4.2. Lugares Pet Friendly

4.2.1. Alta de lugares PF

4.2.1.1. Desde Web

4.2.1.1.1. Por Pertendo (similar a Eventos)

4.2.2. En App

4.2.2.1. Jalar info de BD remota al array correspondiente

4.2.2.2. Poner "Agregar a mi historia"

4.2.2.2.1. Ratings

4.2.2.3. Filtros! (De alguna forma.. ahorita está super confuso?)

4.3. Mi Mascota

4.3.1. Menú integrado: Agregar/Filtro / Expande??

4.3.2. Agregar nuevo "evento"

4.3.3. Editar evento

4.3.4. Rate un lugar PF al que ya hayas ido

4.3.5. Geolocalización (y búsqueda de lugares cercanos?

4.4. Mascota Extraviada

4.4.1. Agregar Mascota

4.4.2. Editar mascota / Marcar como ya encontrada

4.5. Menú Lateral

4.5.1. Mi perfil

4.5.2. Mis ubicaciones

4.5.3. Mi mascota

4.5.4. Redes Sociales

4.6. Posting en Facebook / Instagram..

4.7. Expande

4.7.1. ¿Cómo se muestran los "matches"?