A React-based frontend for PxStat, designed to provide a user-friendly interface for exploring and managing open data and statistics. This project is part of an alpha testing phase to evaluate its effectiveness among a range of open data portal tools.
Note: This project was originally forked from the PxStat Statistics Portal, but has since been substantially rewritten as a custom frontend. It now uses only the PxStat APIs and backend as a data source, and is no longer affiliated with or representative of the original PxStat frontend codebase.
The Emerald Open Data Portal is a frontend built with React that interacts with a PxStat backend via its JSON-RPC.
This project is currently in alpha testing and is being evaluated alongside other open data portal tools.
- Search and Filter: Easily search and filter datasets by keywords, organisations, and resource types.
- Dataset Details: View detailed information about datasets, including metadata, resources, and download links.
- PxStat API Integration: Seamlessly communicates with a PxStat instance using its JSON-RPC APIs.
- CSV Exploration: Allows users to visualise and slice data.
Before you begin, ensure you have the following installed:
- Clone the repository:
git clone https://github.com/ScotGovAnalysis/EmeraldDataPlatform.git
cd EmeraldDataPlatform
- Install dependencies:
npm install
Before running the project, configure the environment:
- Copy the appropriate environment template:
For development:
cp .env.development.template .env.development
For release:
cp .env.release.template .env.release
- Populate the .env.development or .env.release file with the necessary configuration values.
To start the development server:
npm start
Open your browser and navigate to http://localhost:3000.
To create a development build:
npm run build:dev
To create a release build:
npm run build:release
To serve the built app locally:
npx serve -s build --single -l 3000
The frontend interacts with PxStat using its JSON-RPC API.
For more information, refer to the PxStat Documentation.
We welcome contributions! Please follow these guidelines when reporting issues:
- Bug Description (include screenshots if possible)
- Expected Behavior
- Actual Behavior
- Steps to Reproduce For feature requests, please describe the proposed functionality and its potential impact.