OpenSourceFellows / OpenSourceFellows/map_dashboard_hackathon
Endpoint to create a Dataset
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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