Skip to content
tinsandsolution edited this page Oct 25, 2022 · 17 revisions

Welcome to the predictthat wiki!

DB Schema

db schema

User Stories

When a user signs up, they will be given $1000 in play money (that is not convertible to real money) in order to place wagers.

Markets

Markets are specific outcomes that users may want to predict that will or won't happen.

Viewing a market

When a user views a market, they should:

  • be able to view the question that is being debated. "Will X happen by Y date?"
  • be able to view the current odds of the outcome based on previous trades by others
  • be able to view the name of person managing the market to check for reputation

Managing a market

If a viewer would like to see the odds of a real-world outcome, they should be able to create a market.

They will have to fill out three things before publishing it:

  1. The outcome in question
  2. The description, which will include the organization or authority who will determine the outcome
  3. The expected end time of the market end

In order to edit or delete the market post-publish, there must not be any activity on the market yet. This is to prevent market manipulation.

The resolution of the market will be allowed at any time, with the creator of the market ultimately deciding the outcome to "yes" or "no"

Buy/Sell

Suppose that there is a market called "Will the rainfall in Denver Colorado in December 2022 exceed 4 inches?"

Basic premise of a single "yes" or "no" share

If, by the end of 2022, the market resolves to "yes", all the "yes" shares will resolve to $1 credited to the holder's account. All the "no" shares will resolve to $0 to the holder's account.

If a user, for example, holds 100 "yes" shares at time of resolution and closing of the market, the user will have $100 credited to the user's account.

Purchasing a shares on the market

The minimum price for a share is $0.01. The maximum price for a share is $.99.

If another user is offering to sell X "yes" shares at $.78, the user will have an option to purchase it at that price. If it has already been sold, the user will be told that it has already been sold and no transaction will proceed.

Suppose the highest sell offer for "yes" shares is $.78. Suppose the user believes that the true value of those "yes" shares is $.60. They will be able to place a standing "buy" order for $.60, which may be fulfilled in the future by another user.

Selling shares

Suppose a user would like to wager on the outcome of the market, believing that it will resolve to "yes".

They are able to inject liquidity to the market by pressing a button called "create liquidity". This will withdraw $1 from their account, creating one "yes" share and one "no" share. They will be able to list and sell those items at any price they choose.

Search (bonus)

If a user would like to search for specific markets, there will be a searchbar at the top of the page which will allow them to enter queries, returning any markets that have the queries within the title and search description.

Positions (bonus)

A user will be able to view their current holdings in each respective market, closed or open. Each market will show the total and % loss and return for each market, and the top of the page will show overall gains and losses.

MVP Features

Auth (doesn't count)

  • Users can sign in, sign out, and sign up
  • A demo log in will be available, with $1000 preloaded into the account
  • Authenticated users will only be able to view markets, and not purchase
  • On signout, users will be redirected to the homepage
  • Non-authenticated users will be shown a homepage with an introduction to the concept of the site

Market

  • Non authenticated users will only be able to view markets and their respective data
  • Authenticated users will be able to view, create, update, delete, and resolve markets.

Buy/Sell

  • Authenticated users will be able to create shares (if money is in their account)
  • Authenticated users will be able to sell and buy shares directly
  • Authenticated users will be able to place open orders to sell or buy shares, which other users can fill

User Reviews

  • Users will be able see reviews for users upon visiting the url for their profile
  • Authenticated users will be able to create, update, and delete review for users upon visiting the url for their profile

Comments

  • Users will be able see comments for markets
  • Authenticated users will be able to create, update, and delete comments for markets

Search (bonus feature)

  • All users will be able to search for markets, with description and title matching descriptions

Positions (bonus feature)

  • Authenticated users will be able to view their current positions, including profits/losses and overall profits/losses

Wireframes

Homepage (logged in)

Homepage (logged in)

Splash Page (logged out)

splash page (logged out)

Market Page (logged in)

market page (logged in)

Positions Page (requires login)

positions page

Buy/Sell/Liquidity Modal

sell/buy/liquidity

Clone this wiki locally