This project is a web application for performing data analysis using algorithms. It provides a user interface to select datasets, variables, and algorithms, and submit requests to a backend server for processing. Results are displayed in a user-friendly format.
- Dynamic Dropdowns: Users can select data models, datasets, and algorithms. Datasets and algorithms are fetched from the backend.
- Multiple Selection: Users can choose multiple datasets and variables.
- Algorithm Parameters: Input fields for algorithm-specific parameters are dynamically generated based on the selected algorithm.
- CORS Handling: Proper handling of Cross-Origin Resource Sharing (CORS) for fetching data from backend services.
- Results Display: Results are displayed in a structured table format. Includes a button to return to the main page.
-
Backend:
- The backend is a server providing endpoints to fetch data models, datasets, algorithms, and handle requests for executing algorithms.
- CORS is configured to allow requests from the frontend.
-
Frontend:
- Built with React.
- Components:
App.js
: Main application component handling routing.Form.js
: User interface for selecting data models, datasets, and algorithms, and submitting requests.Results.js
: Displays the results of the algorithm execution in a tabular format.
-
Install Dependencies:
pip install -r requirements.txt
-
Run Exareme2:
https://github.com/madgik/exareme2/blob/master/README.md
Ensure the server is running at
http://localhost:5000
.
-
Install Dependencies:
npm install
-
Run Development Server:
npm start
The frontend will be available at
http://localhost:3000
.
- GET
/datasets
: Fetches available datasets. - GET
/datasets_locations
: Fetches dataset locations. - GET
/cdes_metadata
: Fetches metadata for CDES. - GET
/data_models_attributes
: Fetches attributes for data models. - GET
/algorithms
: Fetches available algorithms. - POST
/algorithms/<algorithm_name>
: Executes the selected algorithm with provided parameters.
- CORS Issues: Ensure CORS is correctly configured on the backend to allow requests from the frontend.
- Result Display: Results are formatted and displayed in a table format for clarity.
- Select Data Model: Choose a data model from the dropdown.
- Select Datasets: Choose multiple datasets.
- Select Variables: Choose variables for
x
andy
, ensuring no overlap. - Select Algorithm: Choose an algorithm and provide any required parameters.
- Submit Request: Submit the request and view the results.
- The application is designed to handle different types of results and display them in a user-friendly manner.
- Ensure both backend and frontend are running concurrently for full functionality.