0% found this document useful (0 votes)
17 views3 pages

Datawise Intern Assessment

Uploaded by

niteeshcsc123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views3 pages

Datawise Intern Assessment

Uploaded by

niteeshcsc123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Datawise Internship Assessment –

Frontend or Backend Developer


Instructions

This assessment is designed to evaluate your problem-solving, code quality, and


understanding of real-world application development.

Please read the requirements for both frontend and backend sections.

• If you're applying for the Frontend Developer Intern role, complete Part 1 (you do
not need to build a backend but must integrate with mock APIs).
• If you're applying for the Backend Developer Intern role, complete Part 2, and
optionally build a minimal frontend or use Postman to demonstrate your endpoints.
• If you're confident working on both, you're welcome to complete both parts!

You’ll have 7 days to complete and submit your solution via a public GitHub repository.

Part 1: Frontend (for Frontend Developer Intern applicants)


Objective
Build a responsive dashboard UI using React and TypeScript, with real API integrations
(mock APIs are fine).

Requirements

• A sidebar with navigation: Dashboard, Users, Settings

• A dashboard view that includes:

o A bar chart (static or mock API)

o A user activity table populated via a GET API call

o A form with at least 3 fields that submits data via a POST API call

• Use React Router for routing

• Use Axios or Fetch to make actual API requests

• Manage state using Context API or local component state

• Handle loading and error states


API Integration Notes

• You are not expected to build a backend.

• You must use a real mock API service (not hardcoded data).

o You can use:

▪ MockAPI.io

▪ JSONPlaceholder

▪ Reqres.in

▪ Or a local tool like json-server

• If you're using a local mock server, include setup instructions in your README.

Part 2: Backend (for Backend Developer Intern applicants)


Objective
Build a simple backend API using Python, Flask, and MongoDB. The project simulates a
lightweight Dataset Catalog where users can manage datasets and track quality logs, all
stored in MongoDB.

Requirements

• Tech Stack: Python 3.10+, Flask 2.x, MongoDB (using PyMongo or Motor),
Optional: Pydantic or Marshmallow for validation, pytest for testing

Features to Build:
MongoDB collections

• datasets:
o _id (ObjectId)
o name, owner, description
o tags: list of strings
o created_at, updated_at, is_deleted (boolean for soft delete)
• quality_logs:
o _id (ObjectId)
o dataset_id (refers to a dataset)
o status (PASS or FAIL)
o details
o timestamp
API Endpoints

Method Route Description


POST /datasets Create a new dataset
GET /datasets List all datasets (with optional filters: owner, tag)
GET /datasets/<id> Get details of a dataset
PUT /datasets/<id> Update a dataset
DELETE /datasets/<id> Soft delete a dataset
POST /datasets/<id>/quality-1 Add a quality log
GET /datasets/<id>/quality-1 View quality logs for a dataset

Project Guidelines
• Organize code into: routes/, services/, models/, and utils/ folders
• Keep business logic separate from route handlers
• Return proper status codes and error messages
• Include at least 2 meaningful pytest test cases
• Auto-generate API docs using Swagger / Flasgger
• Include a README.md with:
o Setup instructions
o Example API requests (curl or Postman)

Final Project Deliverables


• A public GitHub repo with:

o /frontend and/or /backend folders

o A README.md including:

▪ Setup instructions
▪ Overview of features
▪ Assumptions made
▪ Libraries/tools used

• (Optional) Hosted frontend demo link

Deadline
Submit your GitHub link within 7 days of receiving this assessment to below email.
Good luck! Feel free to ask questions if needed ([email protected]).

Please note: only candidates qualifying to the next round will be contacted.

You might also like