OpenSourceFellows / OpenSourceFellows/map_dashboard_hackathon

Endpoint to create a Dataset

Open
#42 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Advanced California Tribal GIS Hackathon
Dominant language
HTML
Stars
2
Forks
11
PR merge metrics
No merged PRs in 30d

Description

🛠️ Create Dataset


📋 Endpoints Required

  • POST /api/v1/data_sources/:id/datasets — create resource

🗂️ Data Schema

Describe or paste the expected request/response shape below.

{
  name: string,
  definition: { key values of column name, types, other options }, # e.g. { turbidity: { type: decimal } }
  rows: Array of data to insert, must have all the req. columns from defininition,
}

Note: See dataset.test.ts for examples of how to use the Dataset API.

✅ Acceptance Criteria

  • All endpoints return correct HTTP status codes
  • Input validation is applied to request bodies and query params
  • Errors return consistent, descriptive JSON responses
  • Endpoints are protected by appropriate auth/authorization middleware
  • Pagination supported on the list endpoint
  • Unit tests cover each endpoint (happy path + error cases)
  • Integration tests pass in CI
  • OpenAPI / Swagger docs updated

🔒 Auth & Permissions

N/A

🔗 Related


💬 Additional Context

This Endpoint will require writing data into a junction table when the dataset is created, called datasets.data_sources_data_sets. The constructor for that model looks like:

{
  data_source_id: number,
  dataset_name: string
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the dataset.test.ts integration test linked in the issue and trace the implementation for POST /api/v1/data_sources/:id/datasets. Confirm the request schema and the data_sources_data_sets junction record using the constructor fields given. Done means the endpoint validates input, returns consistent responses, writes the association, and addresses the remaining auth and OpenAPI requirements.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.