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

Disclaimer: Este proyecto es privado. Significa que no soy el dueño del código y por tanto no puedo garantizar el visionado libre del mismo, solo algunas imágenes a modo demostración con permiso del dueño. Sin embargo, si fuera necesario en un momento dado (como en una entrevista laboral) podría dar acceso a un repositorio privado para poderlo visualizar.
  • php
  • mysql
  • javascript
  • jquery
  • ajax
  • web-development
  • private-project
  • company:panaworld