07-03-2012

Creando el backend para un sistema de avatares y su panel de control

Cliente para cambiar tu avatar

La empresa decidió crear un sistema donde los usuarios pudieran comprar ropa y personalizar su avatar. Estos podían comprar distintos modelos y cada modelo tenía muchas posibilidades de ropa y accesorios. El contenido gráfico era creado por nuestros dibujantes y se iba subiendo mediante el panel de control que programé para ellos. Los usuarios ganaban dinero virtual jugando juegos en la web, este dinero se podía emplear en nuevos modelos de avatar, ropa y accesorios entre otras cosas.

Planeando las entidades del sistema para la base de datos

Me puse a pensar en los requisitos del sistema, las acciones que iban a hacer los usuarios y creé los puntos de acceso REST de la API. El proyecto requería bastantes tablas, la ropa se podía componer de más de una capa por lo que era algo complejo. Los usuarios podían comprar modelos, ropa y accesorios. Cada modelo, ropa o accesorio requería un mínimo de nivel de cuenta.

Creando las tablas requeridas

Tras planificar los puntos de acceso del API ya solo quedaba crear las tablas. Tablas para modelos, capas, objetos, tipos de objeto... Objetos que se componían de múltiples capas. Objetos que eran asignados a distintos modelos, etc.

Programar los 'endpoint' del sistema

Ya con las tablas listas me dispuse a escribir código PHP en cada punto de acceso del API. Mucho código de base de datos, consultas SQL y tratamiento de datos.

Programar un panel de control para nuestros artistas gráficos

Nuestros dibujantes necesitaban una herramienta para subir contenido y clasificarlo correctamente, añadir precios, nivel mínimo, tipos de capa, nombre, etc. Teníamos prisa (que raro, prisas en un Startup) por lo que hice el panel deprisa y corriendo, era bastante feo, el UX mejorable pero era completamente funcional y iba rápido. Usando Ajax, jQuery y Formularios HTML era lo único que hacía falta, disparar a los puntos de acceso del API para almacenar toda la información.

Ayudar a un compañero encargado del cliente 'Frontend' con los accesos de API

Para acabar antes con el proyecto, un compañero de trabajo especializado en Adobe Flash se puso a crear el cliente que utilizarían los usuarios para cambiar su avatar. El flash les dejaba ver y seleccionar los modelos, configurar sus avatares, etc. Este cliente debía disparar las peticiones al API que yo hice, por tanto estabamos un poco los dos intentando hacer que funcionase el tema.

Video de usuarios haciendo un TOP avatares

Aviso legal: Este proyecto es confidencial. Por lo tanto, no puedo proporcionar acceso al código fuente completo, pero puedo compartir imágenes o pequeños fragmentos de código con fines de demostración, con el permiso del propietario. Sin embargo, si es necesario para una entrevista, podría ser posible otorgar acceso al repositorio privado donde se encuentra alojado este código o una copia del mismo.
  • php
  • mysql
  • javascript
  • jquery
  • ajax
  • web-development
  • private-project
  • company:panaworld

Vías de Contacto

¿Quieres comentarme algo? Soy de Barcelona. A continuación, te dejo varias opciones para contactar conmigo.

Estado: Estoy trabajando 100% Remoto como Full Stack Developer, pero estoy abierto a oportunidades que me ayuden a hacer crecer mi carrera.

contacto@danieldev.es

Esta PWA ha sido desarrollada por Daniel Domínguez Rubio usando tecnologías como: React, Gatsbyjs, GraphQL, Nodejs, AWS S3 y Cloudfront.

v1.11.0