Skip to content

Rough model and app structure

Janne Pulkkinen edited this page May 22, 2016 · 4 revisions

MODELS

  • Company
  • user can make requests to a company
  • contains contact data that the site can utilize automatically
  • is either non-verified (user created company profile, not available for everyone else yet)
  • or verified (administrator verified contact details, company profile visible to all users)
  • Request
  • a request is made by user and involves a single company
  • contains current status of request (eg. started, waiting reply, completed, failed...)
  • RequestMessage
  • two main types:
    • user-initiated: initial request, reminder
    • reply: each reply from the company is first marked as reply, user can then mark the reply as answering the request (it contains the data user requested) or not. In latter case, the user can send a reminder/reply
  • RequestData
  • data included with a company's reply
  • email attachments in a message zipped and then pointed at the relevant RequestMessage?
  • this way the site can remove the data from the site when the user has finished the request, but leave the original messages between the user and the company intact
  • CompanyStats
  • aggregated information about a company
    • eg. average time from first request to receiving user's data
    • average success rate
    • user rating?
  • updated when a request is fulfilled/fails to be fulfilled
  • implemented as a separate model for performance reasons

APPS

  • companies
  • user can create a new company if one can't be found yet
  • site administrator verifies user-created company data by verifying correct company profiles and removing wrong ones
  • user can report a single company as having outdated/wrong data
  • user can search and view company profiles containing aggregated data
    • eg. average time to receive user's data, success rate, user rating (eg. quality of received user data)
  • requests
  • user can create a request
  • user can track the request's progress (read existing messages, send a reminder)
  • user can download data sent by the company
  • user can remove the data from the site
  • user can close the request as having been completed or having failed (eg. no reply for a very long time)
Clone this wiki locally