DataDash/README.md
2024-07-08 23:15:23 +02:00

89 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DataDash Explore public APIs and datasets
[TOC]
## Description
DataDash is a simple Product Hunt-like "tool" for searching and discovering the newest datasets and APIs.
It provides the ability to up-/downvote entries, and to indicate the quality of a given dataset/API by rating it on a scale of 0 to 5 stars.
## Installation
### On Linux and Mac
To install DataDash, follow these steps:
#### 1. Clone the repository:
```bash
$ git clone https://git.fim.uni-passau.de/padas/24ss-5430-web-and-data-eng/gruppe-3/datadash.git
```
#### 2. Enter the repo:
```bash
$ cd datadash
```
#### 3. Install Java JDK 22: Please refer to the installation instructions for your package manager/OS.
#### 4. Start the application:
```bash
$ ./mvnw spring-boot:run
```
Additional dependencies will be downloaded and managed by maven.
## Deployment
### 1. Follow [installation steps 1-3](#installation).
### 2. _(Optional)_ Remove sample data:
Remove [`src/main/resources/data.sql`](src/main/resources/data.sql) to remove the sample data.
> **Note:** This will also remove all default categories.
### 3. Package the application:
```bash
$ ./mvnw package
```
This will create the `.war` file that you can deploy as you like.
## Usage
1. Open your web browser and navigate to `http://localhost:8080`.
2. Some **dummy data** will be shown (if configured, see [deployment step 2](#2-optional-remove-sample-data)).
3. Add your own datasets and APIs via the **add button** in the top left corner.
4. In the top right you can see the **search toolbar**. Here you can **sort**, input **search terms**, and **filter by categories or type of content** (i.e. dataset or API).
5. For **more information** on a certain dataset just click on it
1. You can differentiate between **API** and **dataset** via the **blue box**.
2. The **user perceived quality** is indicated by the **number and stars** on the left hand side just below the title.
3. You can also **vote** by just **hovering** and then **clicking on the stars**.
4. Right next to the stars the **summary** is displayed. It's a short text describing the main purpose.
5. Below the star rating and summary the **dataset's/API's source** is linked
6. In the next section some metadata regarding the **date of submission**, **category**, **license** and a link to the **Terms of Use** are shown.
7. Next you can see a **full description**.
8. At the very bottom of the page there is a button that will bring you **back to the homepage**. If you want to go back to the **previous page** (e.g. search) you might want to use **your browser's back button**.
9. If you created the entry that you are currently looking at, you will find a **`Delete`** button next to the `Back to main page` button. This will **delete** the entry **without any further confirmation**.
## Used Frameworks/Libraries
### Frontend
None, our whole frontend is written in **native HTML, CSS, and JavaScript**.
It has been tested on **Firefox 127** and **Chromium 126**.
### Backend
We have used the following dependencies:
- `spring-boot-starter-web`
- `springdoc-openapi-starter-webmvc-ui`
- `spring-boot-starter-tomcat`
- `spring-boot-starter-test`
- `com.h2database`