This is the twentieth episode in the reality show about the development SaaS app from scratch. The previous episodes:
Open SaaS development from scratch: why and what
Day 1: requirements and UI wireframes
Day 2: admin pages
Day 3: user pages
Day 4: database models, database update, and a couple of new wireframe pages
Day 5: started API and made changes to the database models
Day 6: created the admin board and new problems
Day 7: board settings page
Day 8: board settings page, more details and tabs
Day 9: board settings page, more tabs
Day 10: finished all 4 meta lists for board settings page
Day 11: experimenting with subdomains
Days 12 & 13: subdomains, separate apps, and user interface
Day 14: end-user UI for creating and editing posts
Day 15: end-user UI - bug fixes and list of user's posts with paging
Day 16: the skeleton of public page with the list of posts
Day 17 & 18: working on the public page
Day 19: Post view and voting
Yesterday I finished the voting system. Well, now a user can vote for, against, or indifferent (meh). "Meh" means a user doesn't care about the problem. It could be useful for those features that look very cool but actually don't give any real value. The other feedback services don't have downvoting functionality and I really don't understand why. Maybe there is some sense but for now, I don't know it :)
I also added the restriction - a user can't vote for his/her own post. In the future, I would remove the voting buttons from user's own post pages but for now I just don't allow it.
Then I started adding comments. I updated the database models - it had some bugs preventing adding comments, now it's working. And I started the frontend, and it turned out to be a tricky part! Because, first of all, the interface should change depending on the current situation:
The frontend is pretty buggish, but it's taking a shape:

Time spent: 3 hours
Total time spent so far: 50.5 hours
Thanks! Stay tuned!