Take home test for ProjectMark
src | ||
tests | ||
.gitignore | ||
eslint.config.mjs | ||
jest.config.ts | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
ProjectMark-Rodrigo
Take home test for ProjectMark
Run the project
This project requires NodeJS version 19 or newer.
- Install dependencies:
npm install
Start project:
npm run start
Usage
You can use Postman or Curl to make calls to the API. The examples below use Curl.
Create a topic:
curl -X POST http://localhost:3000/api/topics \
-H "Content-Type: application/json" \
-d '{"name": "A topic", "content": "Topic content"}'
Get all topics:
curl -X GET http://localhost:3000/api/topics
Get specific topic:
curl -X GET http://localhost:3000/api/topics/1234567890
Replace
1234567890
with the topic id.
Update a topic:
curl -X PUT http://localhost:3000/api/topics/1234567890 \
-H "Content-Type: application/json" \
-d '{"name": "Updated topic"}'
Replace
1234567890
with the topic id.
Get specific version of a topic:
curl -X GET http://localhost:3000/api/topics/1234567890/1
Create a child topic:
curl -X POST http://localhost:3000/api/topics \
-H "Content-Type: application/json" \
-d '{"name": "A topic", "content": "Topic content", "parentTopicId": 1234567890 }'
Delete a topic:
curl -X DELETE http://localhost:3000/api/topics/1234567890
Replace
1234567890
with the topic id.
Tests
Run tests with:
npm run test