···4455Este sistema organiza la informacion relacionada a las transacciones de la
66Asociacion de Estudiantes de Ciencia de Computos (AECC) de la Universidad de
77-Puerto Rico, Recinto de Rio Piedras. Este sistema tiene 5 tipos de datos
77+Puerto Rico, Recinto de Rio Piedras. Este sistema tiene 4 tipos de datos
88fundamentales para su uso:
99- productos
1010- transacciones
1111- miembros de la AECC
1212-- miembros de directiva
1312- actividades hechas por la AECC
14131414+Un concepto implicito con el uso de este sistema es que todas estas
1515+transacciones ocurren desde la perspectiva de la cuenta de banco de la AECC.
1616+Entonces, por ejemplo, una transaccion registrada como debito, es un gasto de
1717+dinero por parte de la AECC.
1818+1519### Productos
16201717-Un producto es una entidad de
2121+Un producto es una entidad que tiene un costo, en centavos USD, y una
2222+descripcion. Por ejemplo, un producto podria ser: la membresia de la AECC,
2323+tendra un costo de 500 centavos y descripcion como "Membresia anual de la AECC."
2424+2525+### Transacciones
2626+2727+Una transaccion tiene 3 partes importantes:
2828+- el iniciador de la transaccion
2929+- el registrador de la transaccion
3030+- la metadata de la transaccion
3131+3232+#### Iniciador
3333+3434+El iniciador es la persona que inicie la compra o adquiere el producto. Con el
3535+sistema actual, el iniciador tiene que ser miembro de la AECC. Esto se puede
3636+resolver creando un miembro "dummy" para registrar transacciones con entidades
3737+que no sean miembros de la AECC.
3838+3939+#### Registrador
4040+4141+El registrador es la persona que monitorea la compra. Este tiene la
4242+responsabilidad de verificar que el monto de ingreso o de gasto de la cuenta de
4343+la AECC sea pagado por completo. Es por esto que se requiere que esta persona
4444+sea miembro de la directiva de la AECC, sin excepciones. Ademas, se esta
4545+contemplando restringir los registradores de compra a solo:
4646+- Tesorero
4747+- Vice-presidente
4848+- Presidente
4949+5050+#### Metadata
5151+5252+En la metadata de la transaccion hay informacion como:
5353+- el producto
5454+- la cantidad que se compro
5555+- si la transaccion fue un gasto o un ingreso
5656+5757+### Miembro de la AECC
5858+5959+Un miembro de la AECC puede verificar el estado de su cuenta, si esta activa o
6060+no simplemente visitando el area de "Members" de la pagina de inicio. Alli,
6161+tambien se pueden crear miembros nuevos. En el futuro, la AECC piensa tener esta
6262+area publica para que miembros de la AECC puedan verificar si tienen que pagar
6363+la subscripcion o no. Ademas, la AECC piensa implementar una manera de "log-in",
6464+que manejaria quienes tienen permiso para crear cuentas nuevas. Implicitamente,
6565+se registra una compra cada vez que se crea una cuenta nueva, por lo tanto, esto
6666+va a ser monitoreado por un integrante de la directiva de la AECC.
6767+6868+### Actividades de la AECC
6969+7070+En el area de "Activities" en la pagina de inicio se pueden ver las actividades
7171+que la AECC ha hecho. En el futuro, pensamos tener un area de
7272+"activity-transactions" que nos deja ver todas las transacciones asociadas a una
7373+actividad. Esto nos seria muy util para encontrar cuanto se gasta o gana por
7474+actividad.
18751976## Proposito del sistema
20772178Anterior a la implementacion de este sistema, la AECC mantenia los records de
2222-transacciones a mano. Esto es
7979+transacciones a mano y por google sheets. Esto no es muy eficiente y es muy
8080+tedioso. Ademas, como estudiantes de ciencia de computos, tenemos el
8181+conocimiento para resolver un problema justo como este.
238224833. Alcance del sistema
25842626-# Sistema actual (si fuera el caso)
8585+### Sistema actual (si fuera el caso)
27862828-# Requisitos
8787+- No hay un sistema actual.
8888+8989+### Requisitos
29901. Funcionales
3030- - los requisitos funcionales describen la funcionalidad del sistema.
3131- Un ejemplo puede ser, el sistema debe presentar el orario de clase del
3232- estudiante.
9191+ - El sistema debe crear, editar y borrar las transacciones de la AECC.
9292+ - El sistema debe calcular cuando un usuario debe pagar la membresia.
33932. No funcionales
3434- - Usabilidad
3535- - Fiabilidad
9494+ - El sistema debe ser facil de usar, ya que ese es uno de los problemas que
9595+ encontramos con google sheets.
9696+ - El sitema debe manejar la data de manera segura.
3697 - Rendimiento
37983899## API Endpoints
391004040-### Create a resource in the database
101101+### /api/v1/create/
4110242103```txt
43104https://ada.uprrp.edu/~diego.estrada1/CCOM/4027/db/api/v1/create/
···117178- [6]: Como esta pagina es un "single page application", este request se ve
118179 mejor por `POST` para no afectar el URL de la pagina. Sin embargo, deberia
119180 ser por `GET`.
120120-121121----
122122-123123-Entrega hasta aqu'i
124124-125125----
126126-127127-3. Restricciones organizacionales al dise~no
128128- - Asuntos legales
129129-130130-# Refencias
131131-132132-# Glosario
133133-134134-# Proyecto
135135-136136-1. Entrevistar a las personas encargadas para entender la tarea y definir requisitos.
137137- Al completar la entrevista deben tener toda la informaci'on necesaria para poder hacer los diagramas.
138138-2. Crear el diagrama de la base de datos y dise~nar la base de datos.
139139- La base de datos debe tener **al menos** tres entidades y dos relaciones.
140140-3. Crear el diagrama de flujo de la informaci'on y diagrama de la interfaz (wire frame).
141141- La interfaz debe tener **al menos** tres p'aginas (views), uno que presente la aplicaci'on y de instrucciones, uno que requiera la manipulacion de datos en la base de datos y uno que muestre datos seleccionados de la base de datos (`select`).
142142- La p'agina que manipula datos debe poder hacer `insert`, `update` y `delete`.
143143-4. Crear las tablas con SQL en el sistema MySQL.
144144-5. Desarrollar la interfaz usando `html` y `php`.