This is the twenty-ninth 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
Day 20: finished voting functionality and started comments
Day 21st: finished comments, improved voting, and started board admin panel for user mngment
Day 22nd: finished board admin user management
Forced break and the startup idea for those who want new ideas
Day 23: verified user and publishing posts
 Day 24: adding a touch of beauty to list of user's posts
Break 2 (flu and new components) and day 25: finishing board admin
Day 26: polishing the main page
Day 27: finishing the main page, sorting, and editing post page
Day 28: eating my own dogfood and finished design and functionality of public posts
Yesterday I finished MVP for this feedback collecting application! What I did - I added the ability for admin to edit and remove comments, as well as change the status of posts.
Then I checked my wireframe and it turned out I'm done. Well... I already started a Trello for features that I would like to add in the future and I believe the app is fine to be presented to the public.
So the next steps will be dedicated to deployment, testing, and fixing bugs.
Posts list

Post for the board admin

Time spent: 4 hours
Total time spent so far: 75.5 hours
Thanks! Stay tuned!
Super interesting to follow the process!
Best of luck :)
Thanks!!
cool to see the process documented and shared in this way.
Good stuff keep it up
Thanks!
Stay tuned!
This is Amazing !
I went through the entire series and its really great to see the workflow of creating an actual SAAS. few days back I also created a MVP for my old forgotten college project. the idea was simple and good but it wasn't received well.
Now I know that there is so much planning involved even to inculcate simple features like comments and adding posts , and why particularly my app failed.
Creating proper schemas in database to fetch only the necessary data, that too fast, is something I struggled with ( can you suggest some reads , or how you do it ?? , your way of planning is amazing , I use Mongo DB ) . also earlier I was just doing JS and CSS on the front but now I realised how useful react is , I'm more than ever Exited to learn it now .
Thanks and keep up the series :)
Thanks for the great feedback!
Yeah, even for me (I have 17+ years of experience) it turned out that even simple features always require planning and designing before development - at least you would know what exactly you have to create.
As for creating a database schema, I don't know any reads. I would suggest - if you are not familiar with - to read any book about databases, even relational because even with MongoDB you would eventually use the relational approach. But no matter, which type of database you use, always start from simple things and add more details after; refactor any time when you feel your current schema is not good. My eventual schema is far different from what I started with and it can't be done in one day because you don't have all the details before your eyes (except you use the waterfall approach).
Yes, React is very useful and has a lot of features, but what is pretty annoying is their "right" approaches to changing data. For example, you can't change easily state if it's complex; or you can't change props passed from the parent component. They have explanations for every case (why it can't be done and why it shouldn't be done) but it doesn't make our lives easier :)
Good luck with your projects!
Great content. Please keep doing this.
Thanks!
I will, hopefully, you will able to see this app in action soon.