The entire search solution is backed by Elasticsearch.
-
Full text search
- Match any text with stock metadata.
-
Instant search
- Use prefix query to match symbols, companies, and so on.
-
Keyword search
- User can specify which field to match by format ":"
-
Compound search
- User can compose multiple query with "AND".
-
Sorting
- User can sort stocks by specified field, e.g. order:MarketCap,desc
-
Predefine search
- User can click tiles in quotes page, to search by predefined search template
-
Stock detail
- price and change
- finance information
- intraday timeseries
- daily time series for 3 months
-
World indices
- global finance market indecies
- horizontal scroll
-
Sector performance
- show predefined sectors performance
- Acount status
- owned stock list
- several account KPIs
- account composition -compare with S&P 500
- Theme support
-
Frontend -React & Redux
-
Backend
- Flask, Python
-
Database
- Sqllite
- Elasticsearch
-
Flow chart
+-------------------+ | | +----------> Elasticsearch | +------------------+ Restful +------------------+ | | | | | | +-------------------+ | browser +-------------> flask | | | | | +------------------+ +-------+-------+--+ +------------------+ | | | | | +----------> Sqllite | | | | | +------------------+ | +--------v--------------+ | | | Internet | | | | | +-----------------------+
##Project Layout
├───initdata stock data to provision database
├───publc static resources
├───scripts scripts to crawl data
├───server backend root
├───src frontend root
├───tests unittest