- Ruby 3.2.x
- Rails 7.1.x
- PostgreSQL 14+
- Node.js 18+
- Yarn 1.x
- Clone the repository and run the project
git clone git@github.com:jetanuwoma/project_history.git cd project_history bundle install yarn install bin/dev
-
What are the possible statuses for a project?
Expected Answer:
Predefined list:Pending,In Progress,Completed,Archived. -
Can all users perform both actions (comment & status change)?
Expected Answer:
Yes, any authenticated user can comment or change the status. -
How should the conversation history be ordered?
Expected Answer:
Chronologically, oldest first, with new entries added to the bottom. -
Are notifications required for status changes or comments?
Expected Answer:
No notifications needed for this initial version. -
Can users edit or delete history entries?
Expected Answer:
No, the history is immutable once created. -
What UI components are needed for input forms?
Expected Answer:- Simple text area for comments
- Dropdown selector for status changes
- Both forms should live on the project page
-
Is there any access control beyond basic authentication?
Expected Answer:
No special permissions – all authenticated users have equal access. -
Should the current status be displayed prominently?
Expected Answer:
Yes, show it as a badge near the project title.
- Add
pg_searchgem - Implement search on
contentfield
- Use Rails cache to store and quickly retrieve latest comments
- Use ActionCable to push new comments to all users
- Show replies in a threaded manner
- Allow tagging other users in comments (
@mentions)
- Send email or in-app notifications for replies and mentions