Picateclas a mi: Consejos para aplicación

JuanMacClane

Madmaxista
Desde
25 May 2010
Mensajes
11.001
Reputación
13.855
Hola mundo.

Estoy liado con un curso de REACT y como estoy hasta las narices de ejemplos chorras y ver videos he pensado en ir haciendo una aplicación completa.
Así además me sirve para solucionar una cosa que quiero hacer y aprender de vosotros, que se que aquí hay gente que controla bien.

La aplicación es bien "sencilla" , como un tablón de anuncios. Básicamente como un canal de Telegram.
Una persona (admin) sube contenido y el resto sólo puede leer (puede ser texto o imágenes)

La parte que quiero hacer en REACT será la del que lee el tablón de anuncios , ya que la quiero tanto para movil como web

La del admin, supongo que tendrá que ser en php con una base datos mysql.

¿consejos de donde alojarlo todo?

Es un proyecto PACO-Personal, así que no necesita cumplir mil millones de ISOS.

Así además igual algún otro forero se anima a hacer algo o pedir consejo
 
ChatGPT Plus

¡Hola! Está genial que quieras llevar a cabo un proyecto real para aprender y practicar lo que vas adquiriendo en el curso de React. Aprender haciendo es, para muchos, la mejor manera de consolidar conocimientos.

Aquí te dejo algunos consejos y recomendaciones:

  1. Separación Frontend y Backend:
    • Frontend: Tu aplicación en React.
    • Backend: Puede ser en PHP, Node.js, etc. con acceso a una base de datos MySQL.
  2. API REST o GraphQL:
    • Define una API (ya sea REST o GraphQL) para comunicar tu frontend con el backend.
  3. Autenticación y Autorización:
    • Asegúrate de tener algún mecanismo de autenticación y autorización para que solo el "admin" pueda subir contenido.
  4. Alojamiento:
    • Frontend (React): Puedes alojarlo en servicios como Netlify, Vercel, o GitHub Pages de forma gratuita.
    • Backend (PHP + MySQL): Si buscas opciones económicas, puedes probar con proveedores como DigitalOcean, Heroku (para el backend) con ClearDB (para MySQL), o Hostinger. Si quieres algo más robusto (aunque con una curva de aprendizaje) puedes mirar hacia servicios de nube como Amazon Web Services (AWS) o Google Cloud Platform (GCP).
  5. Desarrollo Móvil:
    • Si quieres que tu aplicación esté optimizada para móviles, puedes considerar hacerla responsive o usar herramientas como React Native para una app nativa.
  6. Seguridad:
    • Aunque sea un proyecto personal, nunca está de más aprender sobre buenas prácticas de seguridad. Asegúrate de que la conexión entre el frontend y backend esté cifrada (HTTPS) y protege tu base de datos contra inyecciones SQL y otros posibles ataques.
  7. Base de Datos:
    • Asegúrate de tener copias de seguridad regularmente y de aplicar las buenas prácticas al diseñar tu esquema de base de datos.
  8. Pruebas:
    • Considera escribir pruebas unitarias y de integración para tu código. Jest es una herramienta popular para React.
  9. Control de Versiones:
    • Si aún no lo haces, utiliza Git y GitHub (o similar) para llevar un control de las versiones de tu proyecto. Esto te será útil para trackear cambios y para colaboraciones futuras.
  10. Feedback y Mejora Continua:
    • Una vez tengas una versión funcional de tu proyecto, pídele a amigos o compañeros que lo prueben y te den feedback. Siempre hay cosas que mejorar o errores que uno mismo no ve.
¡Mucho ánimo con tu proyecto! No dudes en consultar cualquier otra duda que tengas en el proceso. ¡Éxito!
 
Hola mundo.

Estoy liado con un curso de REACT y como estoy hasta las narices de ejemplos chorras y ver videos he pensado en ir haciendo una aplicación completa.
Así además me sirve para solucionar una cosa que quiero hacer y aprender de vosotros, que se que aquí hay gente que controla bien.

La aplicación es bien "sencilla" , como un tablón de anuncios. Básicamente como un canal de Telegram.
Una persona (admin) sube contenido y el resto sólo puede leer (puede ser texto o imágenes)

La parte que quiero hacer en REACT será la del que lee el tablón de anuncios , ya que la quiero tanto para movil como web

La del admin, supongo que tendrá que ser en php con una base datos mysql.

¿consejos de donde alojarlo todo?

Es un proyecto PACO-Personal, así que no necesita cumplir mil millones de ISOS.

Así además igual algún otro forero se anima a hacer algo o pedir consejo
La parte de admin la puedes hacer también en react, ¿por qué hacerla en distintas tecnologías?

Para lo que quieres hacer no necesitas una base de datos relacional, no te compliques la vida y usa una no relacional, puedes hacerte cuenta gratuita que te permite hacer esos experimentos.


Si la quieres hacer pública, puedes desplegarla en gitHub

 
para la parte admin puede merecer la pena un Strapi u otro headless cms y evitas programar nada para esa parte de la aplicación. Luego en la parte cliente, pues es hacer queries a la REST API de Strapi. Soporta SQLite que para algo pequeño te simplificaría el hosting al no requerir de un servidor de BD, el servidor solo necesitaría poder correr node.js
 
La parte de admin la puedes hacer también en react, ¿por qué hacerla en distintas tecnologías?

Para lo que quieres hacer no necesitas una base de datos relacional, no te compliques la vida y usa una no relacional, puedes hacerte cuenta gratuita que te permite hacer esos experimentos.


Si la quieres hacer pública, puedes desplegarla en gitHub


Gracias, el tema de usar mysql es porque ya tengo experiencia en esa base de datos
Lo de no usar React es porque no tengo claro que se pueda interactuar directamente con la base de datos usando react
 
Gracias, el tema de usar mysql es porque ya tengo experiencia en esa base de datos
Lo de no usar React es porque no tengo claro que se pueda interactuar directamente con la base de datos usando react
Firebase es una chorrada escribes y lees datos con un JSON, en el curso de píldoras informáticas de angular lo explica en 2 - 3 vídeos. Por lo menos para una lista simple de cosas sirve.
Lo que no sé es como hacer las operaciones más complejas de SQL, pero como dices que es para un "tablón de anuncios" igual te vale.
 
Gracias, el tema de usar mysql es porque ya tengo experiencia en esa base de datos
Lo de no usar React es porque no tengo claro que se pueda interactuar directamente con la base de datos usando react
Con react no interactúas con la base de datos porque react se ejecuta en el navegador, pero react sí se comunica con la API de la base de datos, en este caso la api de Firebase. Si quieres trastear con front, olvídate de SQL durante un tiempo porque eso es cosa de back, te conviene mucho más pegarte con llamadas a apis y el tema de autenticaciones

Además, cada cosa tiene su utilidad, y una base de datos relacional SQL no es lo mejor para lo que quieres hacer, mejor una NoSQL como firebase o mongodb.
 
Gracias, el tema de usar mysql es porque ya tengo experiencia en esa base de datos
Lo de no usar React es porque no tengo claro que se pueda interactuar directamente con la base de datos usando react
No entiendo esto, para que esta axios y fetch entonces, están para comunicarse con el servidor. React es un framework que tiene de todo está hecho para facilitarnos la vida aunque ahora el equipo de react recomienda, sobre todo para aplicaciones grandes usar con react, next.js o una plantilla de GraphQl.
 
No olvides usar un ORM para facilitarte la vida con la base de datos, sea mongoose para mongodb o sea Sequalize para Maria, MySQl o PostgreSQL si es un entorno Node.js, si en el caso que uses ASP.net, pues Entity Framework.
 
La parte de admin la puedes hacer también en react, ¿por qué hacerla en distintas tecnologías?

Para lo que quieres hacer no necesitas una base de datos relacional, no te compliques la vida y usa una no relacional, puedes hacerte cuenta gratuita que te permite hacer esos experimentos.


Si la quieres hacer pública, puedes desplegarla en gitHub

WoW cuenta como hacer consultas MySQL con react, amazing
 
ChatGPT Plus

¡Hola! Está genial que quieras llevar a cabo un proyecto real para aprender y practicar lo que vas adquiriendo en el curso de React. Aprender haciendo es, para muchos, la mejor manera de consolidar conocimientos.

Aquí te dejo algunos consejos y recomendaciones:

  1. Separación Frontend y Backend:
    • Frontend: Tu aplicación en React.
    • Backend: Puede ser en PHP, Node.js, etc. con acceso a una base de datos MySQL.
  2. API REST o GraphQL:
    • Define una API (ya sea REST o GraphQL) para comunicar tu frontend con el backend.
  3. Autenticación y Autorización:
    • Asegúrate de tener algún mecanismo de autenticación y autorización para que solo el "admin" pueda subir contenido.
  4. Alojamiento:
    • Frontend (React): Puedes alojarlo en servicios como Netlify, Vercel, o GitHub Pages de forma gratuita.
    • Backend (PHP + MySQL): Si buscas opciones económicas, puedes probar con proveedores como DigitalOcean, Heroku (para el backend) con ClearDB (para MySQL), o Hostinger. Si quieres algo más robusto (aunque con una curva de aprendizaje) puedes mirar hacia servicios de nube como Amazon Web Services (AWS) o Google Cloud Platform (GCP).
  5. Desarrollo Móvil:
    • Si quieres que tu aplicación esté optimizada para móviles, puedes considerar hacerla responsive o usar herramientas como React Native para una app nativa.
  6. Seguridad:
    • Aunque sea un proyecto personal, nunca está de más aprender sobre buenas prácticas de seguridad. Asegúrate de que la conexión entre el frontend y backend esté cifrada (HTTPS) y protege tu base de datos contra inyecciones SQL y otros posibles ataques.
  7. Base de Datos:
    • Asegúrate de tener copias de seguridad regularmente y de aplicar las buenas prácticas al diseñar tu esquema de base de datos.
  8. Pruebas:
    • Considera escribir pruebas unitarias y de integración para tu código. Jest es una herramienta popular para React.
  9. Control de Versiones:
    • Si aún no lo haces, utiliza Git y GitHub (o similar) para llevar un control de las versiones de tu proyecto. Esto te será útil para trackear cambios y para colaboraciones futuras.
  10. Feedback y Mejora Continua:
    • Una vez tengas una versión funcional de tu proyecto, pídele a amigos o compañeros que lo prueben y te den feedback. Siempre hay cosas que mejorar o errores que uno mismo no ve.
¡Mucho ánimo con tu proyecto! No dudes en consultar cualquier otra duda que tengas en el proceso. ¡Éxito!
Olvídate de Chat g-paco que no saca ni la aplicación más warri warri de Android Studio.
 
Lo primero antes de hacer cualquier app es ver si no hay ya antes 300 open source.

Eso de tablon de anuncios no suena a idea innovadora sin implementar jamas precisamente.

roto2
 
Lo primero antes de hacer cualquier app es ver si no hay ya antes 300 open source.

Eso de tablon de anuncios no suena a idea innovadora sin implementar jamas precisamente.

roto2


A ver, seguro que hay chorrocientos, pero es para aprender

Es lo mismo que hacer la calculadora o la típica agenda. ¿Cuántas calculadoras creéis que se han hecho en todos estos años de programación y en cuántos lenguajes?

Aprovecho para subir el hilo y actualizar.
Para empezar con algo más sencillo he hecho una aplicación muy sencilla que devuelve una frase al azar de un listado en un fichero json

No sé si podría haberlas metido en una base de datos, pero así me pareció lo más sencillo. Sólo lo hice para coger práctica con la sintaxis, porque no se en que pensaba el que inventó las funciones de flecha... Será que me hago viejo


Ahora tengo que ver cómo configurar esa app en GitHub pages (parece sencillo) y compilarla en Android
 
A ver, seguro que hay chorrocientos, pero es para aprender

Es lo mismo que hacer la calculadora o la típica agenda. ¿Cuántas calculadoras creéis que se han hecho en todos estos años de programación y en cuántos lenguajes?

Aprovecho para subir el hilo y actualizar.
Para empezar con algo más sencillo he hecho una aplicación muy sencilla que devuelve una frase al azar de un listado en un fichero json

No sé si podría haberlas metido en una base de datos, pero así me pareció lo más sencillo. Sólo lo hice para coger práctica con la sintaxis, porque no se en que pensaba el que inventó las funciones de flecha... Será que me hago viejo


Ahora tengo que ver cómo configurar esa app en GitHub pages (parece sencillo) y compilarla en Android

Pues si es para aprender, añadele algo mas llamativo.

Haz un LumiFinder, con localizacion por GPS en el tablon de anuncios.

Y publica el fuente en github para animar a proxenetas emprendedores de otros paises.
 
Última edición:
Volver