A modern web application for fetching, visualizing, and analyzing data using MST-gql, Express.js, and Dgraph database. The application provides interactive data visualization with powerful sorting and filtering capabilities.
- Real-time data visualization using interactive charts and graphs
- Advanced filtering capabilities for data exploration
- Customizable sorting options for better data analysis
- Responsive design that works across all devices
- Built with modern technologies for optimal performance
- React.js for UI components
- MST-gql for state management and GraphQL integration
- D3.js/Chart.js for data visualization
- Tailwind CSS for styling
- Express.js server
- Dgraph database for efficient graph data storage
- GraphQL API for data fetching
Before running this application, make sure you have the following installed:
- Node.js (v14.0.0 or higher)
- npm or yarn package manager
- Dgraph database (v21.0 or higher)
- Clone the repository:
git clone https://github.com/yourusername/data-visualization-app.git
cd data-visualization-app- Install dependencies:
# Install backend dependencies
cd server
npm install
# Install frontend dependencies
cd ../client
npm install- Configure environment variables:
# In the server directory
cp .env.example .envEdit the .env file with your configuration:
DGRAPH_URL=your_dgraph_url
PORT=3000
- Start the Dgraph database:
dgraph zero
dgraph alpha- Start the backend server:
cd server
npm run dev- Start the frontend application:
cd client
npm startThe application will be available at http://localhost:3000
- Date range filtering
- Category-based filtering
- Text search functionality
- Numerical range filters
- Multi-level sorting
- Ascending/descending options
- Sort by any data field
- Custom sort functions
Example query for fetching data:
query GetData($filter: FilterInput, $sort: SortInput) {
getData(filter: $filter, sort: $sort) {
id
timestamp
value
category
}
}dateRange: Start and end datecategories: Array of categories to includesearchTerm: Text search stringvalueRange: Min and max values
field: Field to sort byorder: ASC or DESCpriority: Sort priority for multi-level sorting
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.
For support, please open an issue in the GitHub repository or contact the development team at support@example.com.
- MST-gql team for the excellent state management solution
- Dgraph team for the powerful graph database
- Express.js community for the robust backend framework