Skip to content

Repositorio del proyecto de UniJOBS. [Desarrollo suspendido :P]

Notifications You must be signed in to change notification settings

abrahamhurtado/unijobs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UniJOBS

Repositorio del proyecto de UniJOBS

Ahora, en el repo de UniJOBS se encuentran dos proyectos: las versiones nativas para iOS y Android en ./unijobsNative y la versión web en ./web, junto con el servidor que alimentará a todas las aplicaciones.

Por favor, hagan commits separados para la verisón web y nativa. 'Prefixeen' [Web] para la versión web y [Native-iOS] o [Native-Android] para las versiones nativas.

DOCS

Corre las aplicaciones

NOTA: en modo 'development', aparece un error en consola que habla sobre React.render, el problema es en el package react-resolver que sigue usando [email protected]. Realmente sólo es un warning y la aplicación seguirá funcionando hasta que salga [email protected].

Requisitos:

Universales:

para iOS (en Mac):

  • Xcode 6.3 o mayor.
  • instalar watchman vía brew: brew install watchman

para Android:

  • Instalar el SDK Manager de Android y descargar:
    • Android SDK Build-tools version 23.0.1
    • Android 6.0 (API 23)
    • Android Support Repository
    • (todas las tools para las versiones que queramos soportar)

Ahora a la acción

Primero:

$ git clone https://github.com/arhcstolen/unijobs.git
$ cd unijobs

Para trabajar en la versión web:

$ cd ./web
$ npm install

Tienes que tener instalado mongodb en tu computadora, cuando sea el caso, en terminal:

  $ mongod

En otra terminal, inicializa la base de datos con

  $ npm run seed

Modos de la aplicación

Development (hot reload, assets sin minificar)

  $ npm run dev

Production (no hot reload, assets comprimidos, minificados, etc).

  $ npm run start

Production en Windows

  $ npm run win

Testing

  $ npm run test

Linting

  $ npm run lint

Para trabajar en las versiones nativas

Recuerda que para esto, ya necesitas tener instalado react-native-cli (checa los Requisitos Universales)

$ cd ./unijobsNative/
$ npm install
$ react-native start //esto inicaliza el packager de React Native

iOS

  • Abre ./ios/unijobsNative.xcodeproj en Xcode y dale run para ver la app en el simulador.
  • Abre ./index.ios.js en tu editor y hazle cambios.
  • Dale a ⌘-R en el simulador para refrescar el proyecto y ver los nuevos cambios.

Android

  • En otra terminal, ejecuta react-native run-android

TODO:

  • Hacer más tests (componentes de React, endpoints de GraphQL, etc).
  • Añadir más queries y madres a GraphQL <-- EN PROGRESO
  • Crear la base de datos <-- LISTO!
  • Conectar el servidor (y GraphQL) con una base de datos (MongoDB) <-- LISTO!
  • Crear rutas (a la REST) para abstraer los queries de GraphQL (no estoy seguro sobre esto) <- LOL, NOPE. NO SE HARÁ
  • Conectar datos a los componentes de React. <-- EN PROGRESO
  • Implementar passwordless para registro de usuarios.
  • Implementar lógica para sólo entrar a rutas estando autenticado.
  • Agregar estilos (pa' que se vea kawaii).
  • Implementar Flux architecture (Redux, principalmente), sólo y sólo si es necesario. <-- SE SIGUE PENSANDO

Links interesantes

UTILS

La cagué en un commit, ¿cómo lo arreglo?

Fusionar múltiples commits en uno solo

Lint like it's 2015

Egghead.io

Hoja de referencia para Git/GitHub

React Native

Awesome React Native

React Native on GitHub

Use React Native

NodeJS

Awesome Node

Teoría de React

React on GitHub

Como usar Clases con ES6 y React

React: Container Components

React: Testing

React Router

Teoría de Higher Order Functions/Components

Creando una app robusta con React

Smart and Dumb Components (vean el link de Container Components también)

Higher Order Components

Awesome React

GraphQL

GraphQL.org

Aswesome GraphQL

Learn GraphQL

Testing

Testing con Tape

React to Changes with Pure Components

5 Preguntas que cada Unit Test debe responder

EcmaScript 6 y JavaScript en general

Aprende ES6 a fondo

You Don't Know JS

Cómo contribuir

  1. Clona el repo
  2. Crea una rama para los cambios y trabaja ahí.
  3. Recuerda estar checando los cambios en master.
  4. Cuando haya cambios en master, fusiónalos con los de tu rama experimental.
  5. Cuando esté lista, sube la rama al repo y haz un pull request desde ahí.
  6. Si encuentras un problema, abre un issue y escribe cómo sucedio, bajo que circunstancias, para poder replicarlo y ayudarnos entre todos.

Protip: hagan git rebase para fusionar los cambios, es mejor que git merge

Protip 2: si pueden incluir tests, mejor!

Si hay dudas, ya saben: @arhcstolen, [email protected] y ya se saben mi Facebook :)