Trends in Academic Exploration Analysis Toolkit
This tool aims at providing a one-stop solution for scholars to explore scientific research topics trend with user interface and visualizations. Check our deployed web page here.
You can install this tool for free on the machine of your choice. To host the site, first get a free api key from News API and put the key in the environment variable NEWS_API_KEY.
We only support installation from docker images on linux/arm64 cpu architecture. If you want to deploy on other platforms, please refer to manual build.
To install using docker, pull the latest image from docker hub:
docker pull akiyiwen:trace/latestAnd start the server:
docker run -d --name trace -p 8000:8000 -e NEWS_API_KEY=${your api key} akiyiwen/trace:latestAlternatively, you can save the api key in .env file and run:
docker run -d --name trace -p 8000:8000 --env-file .env akiyiwen/trace:latestTo specify the application host port, change the parameter after -p to be ${your port}:8000. Do not change the second port value. The webpage is default hosted at /trace, so you can go to http://localhost:8000/trace to view the app. You can also host the docker container behind another server and visit through the public url.
Change the environment variables to customize server behaviors
| Variable name | Description | Default value |
|---|---|---|
NEWS_API_KEY |
Api key to access news api | N/A |
CACHE_EXPIRE_SECONDS |
Life cycle of cache, expires in specified seconds | 86400 |
QUERY_LIMIT_RATE |
Global limit rate every minute for querying trends | 16 |
AUTOCOMPLETE_LIMIT_RATE |
Global limit rate every minute for autocomplete | 256 |
Clone the source code from GitHub:
git clone [email protected]:remisiki/trace.gitIf you have docker installed, you can change the platform option in Dockerfile and run:
docker buildx build -t akiyiwen/trace:latest .Then you should be able to run the docker image. If docker is not installed, you can manually build backend and frontend separately.
To build the frontend, make sure npm is installed, then
cd client
npm install
npm run build
# Or use yarn (recommended)
# yarn install
# yarn build
cd ..
mv client/build serverTo build the backend, make sure pip3 and python3 are installed, then
cd server
pip3 install --no-cache-dir --upgrade -r ./requirements.txtAfter installation of both frontend and backend is success, run the server:
cd server
python3 -m uvicorn main:app --proxy-headers --host 0.0.0.0 --port 8000MIT