Lädt...


🔧 Registro 001 — Antes de Escribir Código: La Importancia de Planificar tu Proyecto Flutter


Nachrichtenbereich: 🔧 Programmierung
🔗 Quelle: dev.to

Plan de Trabajo

Bueno, estamos de vuelta con nuestro proyecto y no, aún no empezaremos con el código. Esto me gustaría compartirlo también como un consejo para todos esos nuevos programadores en camino a transformarse en desarrolladores: antes de empezar a escribir cualquier línea de código o bien antes del comando para iniciar su proyecto, hay que tomar una pausa y planear.

Recuerdo bien cuántos proyectos quise empezar con solo una idea y comenzar a escribir código. Pensando en la marcha, íbamos viendo qué utilizaríamos o cómo lo haríamos, y ahí quedaba ese proyecto, porque como no me tomé el tiempo de planearlo o pensarlo, se quedaba en una idea.

Por eso mismo, y con el ímpetu de mejorar en nuestro crecimiento como desarrolladores, creo que es momento de platicar de qué irá nuestro proyecto o al menos cómo funcionará. Desde ver qué tecnologías utilizaremos, cómo organizaremos nuestro proyecto y cómo lograremos cumplir con nuestro cometido.

Tecnologías

Como ya habíamos platicado en nuestro artículo anterior Registro 000, la tecnología principal en nuestro proyecto será Flutter como base de nuestro código. Posteriormente, utilizaremos como base de datos y backend principal Supabase, que, por sus virtudes de transacciones en tiempo real, nos ayudará en la funcionalidad de creación de partidas, sobre todo las públicas (más adelante hablaremos de eso), de fácil publicación y que a los usuarios les llegue de manera efectiva.

Estructura y Componentes

Nuestro proyecto se conformará de varias partes esenciales que harán que funcione y cumpla con nuestro propósito. Como se muestra en el diagrama siguiente:

Diagrama Proytecto

Data

Nuestra app se conectará al servicio de Supabase, pero antes vamos por partes. Hasta el momento se han detectado tres modelos principales:

  • Usuario
  • Partida
  • Mensaje

Estos serán nuestros modelos principales de nuestra capa de datos, los cuales serán los tipos de datos que manejaremos en toda la app. Puede que tengamos otros nuevos, pero como base empezaremos con los anteriormente mencionados.

Autenticación

Manejaremos el control de autenticación de usuarios, por lo que inicialmente integraremos las cuentas nativas de los dispositivos, Google y Apple, ya que por defecto, si un usuario está en su dispositivo móvil, tiene una cuenta de cualquiera de estos proveedores. Se está considerando Facebook para ampliar el acceso, por ejemplo, a usuarios de dispositivos no compatibles con ninguno de estos proveedores.

En el apartado de Supabase, tenemos nuestras tablas, que, si bien se puede observar, empatan con nuestros modelos. Pero igual tenemos unas notas importantes que mencionar sobre algunas de estas tablas:

Partidas

Las partidas serán de dos tipos: privadas, entre amigos previamente agregados dentro de la misma plataforma, o públicas, entendiendo que al principio no habrá amigos agregados. La posibilidad de crear partidas públicas ayudará a generar dichas conexiones. Por cuestiones de rendimiento, manejaremos 5 partidas públicas abiertas por usuario. ¿Qué significa abiertas? Nos referimos al estado en el que la partida solo cuenta con el usuario que la creó, esperando un retador.

Las partidas constarán de un reto estándar de el mejor de 3, o mejor de 5, según la configuración que se elija al realizar el reto. Con esto no generamos partidas de una sola ronda y se genera un poco más de interactividad y competencia.

Chat de partida

Durante la partida, la interacción entre los usuarios puede agregar un poco de dinamismo, pero a su vez no queremos crear un ambiente tóxico o abusivo, por lo cual se limitará a emojis. Aunque una partida es básicamente corta (mejor de 3 o 5), se piensa que puede traer un factor social interesante de interacción entre las partidas. Según el impacto que tenga, puede que con ciertos controles de moderación se abra una conversación más allá de emojis.

Por el momento, creo que ha sido bastante información y se ha estipulado lo suficiente para comenzar, ahora sí, a escribir código. En nuestra siguiente entrega analizaremos y veremos la organización de nuestro proyecto en cuanto a arquitectura y también las librerías o herramientas que utilizaremos para lograr el cometido.

Gracias por leerme y nos vemos en la siguiente entrega.

...

🔧 Registro 001 — Antes de Escribir Código: La Importancia de Planificar tu Proyecto Flutter


📈 214.23 Punkte
🔧 Programmierung

🔧 Registro 002 - Organizando el Código: Clean Architecture en Acción para tu Proyecto Flutter


📈 77.87 Punkte
🔧 Programmierung

🎥 Flutter Performance, Flutter Games, Flutter Tooling, & More (#AskFlutter at Flutter Live)


📈 43.4 Punkte
🎥 Videos

🔧 Um bom algoritmo e sua importancia para um código mais ágil


📈 40.25 Punkte
🔧 Programmierung

🔧 Registro 000 - ¿Listo para Flutter? Sigue Mi Aventura en el Desarrollo de una App con Clean Architecture


📈 36.13 Punkte
🔧 Programmierung

🔧 Cómo escribir archivos de log en Go


📈 33.71 Punkte
🔧 Programmierung

🔧 Guía Básica de Prompt Engineering: Parte 1 - Técnicas Esenciales para Escribir Prompts Efectivos


📈 33.71 Punkte
🔧 Programmierung

🔧 Flutter news from GDD China: uniting Flutter on web and mobile, and introducing Flutter 1.9


📈 32.55 Punkte
🔧 Programmierung

🎥 Origin of Flutter, Dart 2.0, E-Commerce with Flutter, & More (#AskFlutter at Flutter Live)


📈 32.55 Punkte
🎥 Videos

🔧 Refatoração de Código: Melhores Práticas para Escrever Código Limpo e Eficiente


📈 32.41 Punkte
🔧 Programmierung

🔧 .NET Source Generators: gerando código em tempo de escrita de código!


📈 32.41 Punkte
🔧 Programmierung

🕵️ Low CVE-2021-25647: Testes-codigo Testes de codigo


📈 32.41 Punkte
🕵️ Sicherheitslücken

🕵️ Alcatel-Lucent OmniPCX 014.001/091.001 id2 privilege escalation


📈 28.86 Punkte
🕵️ Sicherheitslücken

🕵️ Bugtraq: KL-001-2017-001 : Trendmicro InterScan Arbitrary File Write


📈 28.86 Punkte
🕵️ Sicherheitslücken

🕵️ Bugtraq: KL-001-2016-001 : Arris DG1670A Cable Modem Remote Command Execution


📈 28.86 Punkte
🕵️ Sicherheitslücken

🕵️ Bugtraq: KL-001-2016-001 : Arris DG1670A Cable Modem Remote Command Execution


📈 28.86 Punkte
🕵️ Sicherheitslücken

📰 Qué deben tener en cuenta los CIO antes de aspirar a ser CEO


📈 28.4 Punkte
📰 IT Security Nachrichten

🔧 Horas é uma variável de ambiente, vou usar o ENV. Calma, calma, deixa eu te falar uma coisa antes


📈 28.4 Punkte
🔧 Programmierung

🔧 Tauri v2: Dos nuevos conceptos que debes conocer antes de actualizar tus apps a la nueva versión


📈 28.4 Punkte
🔧 Programmierung

🔧 Docker Build Checks: Validando seus Dockerfiles antes dos Builds


📈 28.4 Punkte
🔧 Programmierung

🔧 A Arte de identificar o Problema Antes de Buscar Soluções


📈 28.4 Punkte
🔧 Programmierung

📰 Mozilla Antes Up $35M To Save the Soul of High Tech


📈 28.4 Punkte
📰 IT Nachrichten

🐧 NÃO USE VPN sem SABER disso antes!


📈 28.4 Punkte
🐧 Linux Tipps

🔧 Problema Leitura de Código Barras no Flutter


📈 27.05 Punkte
🔧 Programmierung

🔧 Crear un proyecto nuevo con Eslint, Stylelint, CommitLint y Husky


📈 25.53 Punkte
🔧 Programmierung

🔧 Documentar tu proyecto ASP.Net y mostrarlo como un formulario mas


📈 25.53 Punkte
🔧 Programmierung

🔧 REST vs GraphQL - Elegir la API adecuada para su proyecto


📈 25.53 Punkte
🔧 Programmierung

🔧 SQL vs NoSQL: Elegir la Base de Datos Adecuada para su Proyecto


📈 25.53 Punkte
🔧 Programmierung

🔧 Glosario de gerente proyecto: 29 términos imprescindibles


📈 25.53 Punkte
🔧 Programmierung

🕵️ Hackers Attack Financial Institutions & Government Organizations With “Proyecto RAT”


📈 25.53 Punkte
🕵️ Hacking

🐧 El Mejor Proyecto En Linux En 2019


📈 25.53 Punkte
🐧 Linux Tipps

matomo