Take-home assessment for Teachable interview process.
What I've built:
- Ruby on Rails monolith project (backend and frontend)
TeachableApiservice to wrap HTTP calls to APICourseandEnrollmentclasses withActiveModel::Modelincluded forActiveRecordfunctionalities without DB tables- ERB views with Turbo
- Tailwind CSS for styles
Using the endpoints provided by the Public API, it fetchs and outputs a list of published courses within the creator's school, including the following information for each course:
- Course name
- Course heading
- Course publishing status
- A list of the names and emails of students actively enrolled in the course, along with the enrollment status and creation date
I've used AI (Copilot):
- ocasionally to do code completion
- to discuss ideas in 'ask' mode
- a little bit more in 'agent' mode to help build a better UI
- Improve the caching system, to avoid frequent API calls
- Handle multiple pages in API responses
- Implement testing (with RSpec)
- Open VSCode
- Install
Dev Containersextension - Clone the project locally
- Run the
Dev Containers: Open Folder in Container...command and select the project folder - Run
bundle install - Fill in the API Key to Rails credentials vault with
VISUAL="code --wait" bin/rails credentials:edit
teachable:
api_key: "api-key-here"
- Run the Rails server with
rails s - Visit http://localhost:3000/
- Clone the project locally
- Cd to the project folder, run
bundle install - Fill in the API Key to Rails credentials vault with
VISUAL="code --wait" bin/rails credentials:edit
teachable:
api_key: "api-key-here"
- Run the Rails server with
rails s - Visit http://localhost:3000/