Coding challenge presented to candidates interviewing for a role at Haistack.AI.
#findyourneedle
All of the PRs can be found at https://github.com/andrecego/haistack-coding-challenge/pulls?q=is%3Apr+is%3Aclosed API Documentation can be found at http://localhost:3000/api-docs
Key points of each PR:
- PR #1: Initial setup of the project with frontend aliases
- PR #2: Added lint and test workflows
- PR #3: Setup the frontend test environment with vitest and react-testing-library
- PR #4: Add the candidate model
- PR #5: Base validator and validator classes
- PR #6: Create use case to create a candidate along with the route
- PR #7: Add Swagger documentation
- PR #8: Add Paginate service and oj for performance
- PR #9: Show candidate endpoint
- PR #10: Update candidate endpoint
- PR #11: Delete candidate endpoint
- PR #12: Add ESLint and linting rules
- PR #13: Add i18n
- PR #14: Add Candidate card
- PR #15: Add Candidates list
- PR #16: Add Candidate Form and Candidate New pages
- PR #17: Refactor the candidate new to candidate upsert
- PR #18: Add delete candidate button
- PR #19: Documentation and final touches
- Install Docker Desktop.
- Clone this repository.
- Copy the example environment file.
- Build the container image.
- Install JavaScript dependencies.
- Create and start the containers.
git clone git@github.com:Lateral-Link/haistack-coding-challenge.git
cd haistack-coding-challenge
cp .env.example .env
docker compose build --no-cache
docker compose --rm app yarn install
docker compose up
Browse to http://localhost:3000.
docker compose run -e RAILS_ENV=test --rm app bundle exec rspec
Contact the authors in case of problems.
Follow these instructions.
Copyright 2023 Haistack.AI