a mini social media app for small communities
1# resources 2 3making beep has taught me a lot related to backend web development, database 4design, and performance considerations for those. not to mention security! 5 6to help others that want to learn these skills too, here are the resources that 7helped me design beep! 8 9## database design 10 11- https://stackoverflow.com/questions/59505855/liked-posts-design-specifics 12 - my programmer brain automatically assumed "oh i can just store a list 13 in the user table!" turns out, that is a bad implementation. 14 - i do have scalability concerns with the current implementation, but i 15 can address those in the near future. 16 17## sql 18 19postgresql documentation: https://www.postgresql.org/docs/ 20 21- https://stackoverflow.com/questions/11144394/order-sql-by-strongest-like 22 - helped me develop the initial search system, which is subject to be 23 overhauled, but for now, this helped a lot. 24- https://stackoverflow.com/questions/1237725/copying-postgresql-database-to-another-server 25 - database migrations 26 27## sql security 28 29![xkcd comic #327](https://imgs.xkcd.com/comics/exploits_of_a_mom.png) 30 31source: xkcd, <https://xkcd.com/327/> 32 33- sql injections 34 - https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html#other-examples-of-safe-prepared-statements 35 - https://cheatsheetseries.owasp.org/cheatsheets/Query_Parameterization_Cheat_Sheet.html#using-net-built-in-feature 36 - https://www.slideshare.net/slideshow/sql-injection-myths-and-fallacies/3729931#3 37 38## misc 39 40- https://stackoverflow.blog/2021/12/28/what-i-wish-i-had-known-about-single-page-applications/ 41 - i thought about turning beep into a single page application (spa), 42 then done a bit of research. this blog post pointed out a variety of 43 problems that the author had with their spa, and many of those problems 44 would be problems for beep too. 45 - tl;dr: this blog post gave me the warnings about an spa before i 46 wasted my time implementing it on beep.