Tweet
Day 46. Finally finished the tests for the Exchange Rates Overlapping, but the model's factory is used so much that I spent the day refactoring the other tests to accommodate the new restrictions. @100dayscode #API #Bookkeeping #buildinpublic
Day 45. While writing the docs for Exchange Rates I realized that the validity periods for rates of a Currency should not overlap. So I spent the day writing the code and tests to cover the case. @100dayscode #API #Bookkeeping #buildinpublic
Day 44. Nothing much going on, wrote some more documentation. Hoping to finish the first draft within a week or so, then I can start thinking about marketing the MVP to beta testers. @100dayscode #API #Bookkeeping #buildinpublic
Day 43. Finally, the API reference docs are live!! 🙌 Feel free to take a look at documenter.getpostman.com/view/14650328/… and let me know what you think. Now I'll concentrate on finalizing the general docs at located at microbooks.io @100dayscode #API #Bookkeeping #buildinpublic
Day 42. Figured I'd host the non reference docs using @Netlify, but ran into some issues about custom domains. I'll try and solve those tomorrow then get back to postman. @100dayscode #API #Bookkeeping #buildinpublic
Day 41. Database all set up and API is responding nicely to requests. Time to register a domain. I chose microbooks.io and used @Namecheap to register it. I'll publish the Postman docs as soon as the domain propagates. @100dayscode #API #Bookkeeping #buildinpublic
Day 40. As promised, spent the day comparing postgres cloud providers. Selected supabase.com because 1. Its OSS which is awesome and 2. The extra stuff that comes out of the box are mind-blowing. #buildinpublic @100dayscode #API #Bookkeeping @supabase @madewifsupabase
Day 39. I finally settled on upstash.com which has a free tier thats perfect for testing. This got me thinking about outsourcing the db too since persisting data in a container is a bad idea. I'll look around on Monday. #buildinpublic @100dayscode #API #Bookkeeping
Day 38. Finally got docker-compose and git done. But then encountered the first problem: Kafka is such a memory hog it can't run on the tiny EC2 instance I'm using to test. Seems I'll have to outsource this part of the infra. #buildinpublic @100dayscode #API #Bookkeeping
Day 37. After comparing a few cloud hosting providers, I decided on aws as I have experience with it and i'm in a hurry. Spent the day setting up docker compose and git on an EC2 instance. It's harder than you'd think. #buildinpublic @100dayscode #API #Bookkeeping #Accounting
Day 36. Just when I was about to publish the docs, I realized that Postman expects the endpoints to be live. So I started laying the groundwork for deploying the app. I'm torn between heroku and aws. #buildinpublic @100dayscode #API #Bookkeeping #Accounting
Day 35. All done with the Reports, and with that all the API reference documentation. I'll spend some time tomorrow proofreading, then I'll publish the docs on postman. #buildinpublic @100dayscode #API #Bookkeeping #Accounting
Day 34. Still on the Assignments, I had to create and test new Transaction endpoints for assignments, both for the assigned and the cleared Transaction. Tomorrow I can start on the last part: Reports #buildinpublic @100dayscode #API #Bookkeeping #Accounting
Day 32 - 33. Took a while, but I finally resolved all the issues between Taxes and Discounts. Next I'll start working on Transaction Assignments. #buildinpublic @100dayscode #API #Bookkeeping #Accounting
Day 31. Run into some problems involving the combination of Taxes and Discounts on the same Line Item. I have several ideas on how to solve them that I'll try tomorrow. #buildinpublic @100dayscode #API #Bookkeeping #Accounting
Day 30. All done with Line Items. Will move on to Taxes and Discounts tomorrow. #buildinpublic @100dayscode #API #Bookkeeping #Accounting
Day 29. Finally done with the Transactions endpoint docs. Started on Line Items, though much of the work was already covered while dealing with the Transactions. They shouldn't take too long to clear. #buildinpublic @100dayscode #API #Bookkeeping #Accounting
Day 27 - 28. While working on Transactions and Line Items, had to involve Taxes and Discounts since they are all interconnected. Deeper and deeper into the rabbit hole... #buildinpublic @100dayscode #API #Bookkeeping #Accounting
Day 21. After a short break, I'm back to setting up the nginx to work with the backend docker apps. Encountered some difficulty with serving the static files for the html and psd reports, but finally got it. #buildinpublic @100dayscode #API #bookkeeping
Day 17. Done with the auth service lumen app. Found rdkafka, a php extension with a simplified kafka interface and fitted it into the app. Tomorrow I'll install the kafka and start sending some messages. #buildinpublic @100dayscode @MicroSvcArch #Bookkeeping
Day 13. Spent formatting and working on streaming pdf report data as a reposnse. Had to learn quite a bit about content types and the content disposition http header. #buildinpublic, @100dayscode @100daysofcoding #Bookkeeping
Day 12. Html reports completed. Started working on pdf versions. Since reporting is the end goal of any Bookkeeping system, I think these represent the value the product will be offering. #buildinpublic @100dayscode #api #Bookkeeping
Day 8. The tests for the public package were built with sqlite for speed. I chose postgres as the prod db, so I had to adapt the tests and optimise the queries to use pg advanced features to speed them up. #buildinpublic, #Bookkeeping @100dayscode #api
Day 7. Had to extend some of the functionality in the public package, so I copied the source files into the project and spent the day writing unit tests for the extended functionality. #buildinpublic @100dayscode #APIs #Bookkeeping #microservices
I spent day 2 optimising the controllers for the models. The resource methods are identical so I've put them in one controller and use DI to inject each model and its validation rules. Custom methods go into child controllers #buildinpublic #100daysofcoding #api #Bookkeeping
Day 5. Ran the system for the first time. Only a few endpoints mind you, but seeing the work of your hands responding to requests makes the effort is totally worth it. Major motivation boost right there! #buildinpublic @100dayscode #Bookkeeping #sidehustle