Se trata de un portal en el cual usuarios pueden registrarse, solicitar la compra de
participaciones (tokens), ver su cuenta con estado actual y movimientos (Dashboard),
contactar con soporte. (No hay pasarela de pago, no hay conexión con otros servicios externos
como por ej. Bancos, APIs, servidores, etc).
Todo es manual, excepto la importación de
un fichero de movimientos bancarios.
Funcionalidades para usuarios finales:
- registro de usuarios (usando Django-allauth y Google ReCaptcha V3)
- identificación de usuarios (subir foto de tarjeta de identidad, introducir datos completos del usuario)
- varios formularios donde el usuario puede indicar su interés en participar en comprar participaciones
- Dashboard donde el usuario ve las participaciones que tiene y los movimientos de su cuenta
- formulario de contacto para ponerse en contacto con el administrador
Funcionalidades para administradores:
- aprobar/rechazar cuentas (revisar la documentación subida y dar el visto bueno)
- CRUD de usuarios
- importar ficheros de movimientos del banco en la bbdd (usaremos
https://pypi.org/project/csb43/)
- asignar manualmente movimientos de la cuenta bancaria a los usuarios
- crear asientos de movimientos para usuarios
- responder preguntas que llegan a través del formulario
Funcionalidades generales:
- se enviarán emails de seguridad (2FA) con token o link (se debe invalidar en 24 horas)
- no se borrarán registros en la bbdd, sólo se marcarán cómo borrados (usaremos QuerySet para acceder a las tablas)
- tendremos un servicio de log que registra todas las acciones de los usuarios y de los admins
- al importar los ficheros del banco se asignarán automáticamente los movimientos a los usuarios
- comentaremos todo el código, todas las funciones, métodos, etc.
- DRY (no repetir código)
- usaremos Django shortcuts (render, get_object_or_404...)
- No usaremos URLs hard-coded (sino reverse(), app_name, etc)
- usaremos funcionalidades de Bootstrap4 para mejorar la experiencia del usuario
- usaremos para el desarrollo SQLite pero más tarde MySQL o PostgreSQL (no decidido todavía)
- trabajaremos conjuntamente usando Git
- metodología Scrum: Sprints semanales publicando nuevas versiones cada semana.
- Buscamos una persona con experiencia demostrable en Django y con dedicación completa. Tenemos
más proyectos planificados y si nos va bien la colaboración queremos trabajar mucho tiempo con esta persona.
Prototipo en HTML y fichero Excel describiendo la estructura de la bbdd:
https://github.com/josecruset/token_manager_steinn.git
En total serán unas 25 páginas HTML de las cuales ya tenemos 15 programadas (sin funcionalidad del backend)
Estas 15 páginas nos sirven de momento como prototipo para mostrar las funcionalidades del portal.
Se requiere programar en HTML las 10 páginas restantes y las funcionalidades en Python con Django para todas las páginas.
Ya tenemos la estructura de la bbdd definida (unas 15 tablas)
This is a portal in which users can register themselves, request the purchase of
tokens, view their account (Dashboard) with current status and account movements,
contact support. (There's no payment gateway, no connection with other external services
e.g. Banks, APIs, servers, etc.)
. Everything is manual, except the import of a bank transaction file.
Functionalities for end users:
- user registration (using Django-allauth and Google ReCaptcha V3)
- user identification (upload photo ID card, enter full user data)
- several forms where the user can indicate his interest in participating in the purchase of shares
- Dashboard where the user sees the shares he has and the movements of his account
- contact form to contact the administrator
Functionalities for administrators:
- approve/reject accounts (review uploaded documentation and approve)
- User CRUD
- import bank account movements files into the bbdd (using
https://pypi.org/project/csb43/)
- manually assign bank account movements to users
- create movement entries for users
- answer questions that come through the form
General functionalities:
- security emails (2FA) will be sent with a token or link (must be invalidated within 24 hours)
- no records will be deleted in the bbdd, only marked as deleted (we'll use QuerySet to access the tables)
- we will have a log service that records all the actions of users and admins
- when importing files from the bank the movements will be automatically assigned to the users
- you have to comment all the code, all the functions, methods, etc.
- DRY (do not repeat code)
- use Django shortcuts (render, get_object_or_404...)
- Don't use hard-coded URLs (but: functions like reverse(), app_name, etc)
- use Bootstrap4 features to improve the user experience
- for development we will use SQLite but later either MySQL or PostgreSQL (not decided yet)
- we'll work together using Git
- Scrum methodology: weekly sprints publishing new versions every week.
- We are looking for a person with demonstrable experience in Django and with full dedication. We
have more projects planned and if we collaborate well we want to work a long period of time with this person.
In total there will be about 25 HTML pages of which we already have 15 programmed (without backend functionality).
These 15 pages serve as a prototype to show the functionalities of the portal.
It is required to program the 10 remaining pages in HTML and the functionalities in Python/Django for all pages.
We have defined the database structure already (about 15 tables)
HTML-Prototype and Excel file describing the database structure:
https://github.com/josecruset/token_manager_steinn.git
Plazo de Entrega: 15 Marzo, 2019