[{"data":1,"prerenderedAt":524},["ShallowReactive",2],{"project-25517226":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":43,"post_text":44,"what":45,"said":89,"maker_in_thread":176,"shape":185,"grid":189,"attempts":482,"same_week":487,"maker_shows":363,"maker_hidden":516,"reader_version":517,"card":518},"25517226","django-react-boilerplate","Django and React SaaS boilerplate tutorial","title","Show HN: Django and React SaaS boilerplate tutorial","https:\u002F\u002Fgithub.com\u002Fsaasitive\u002Fdjango-react-boilerplate","github.com","pplonski86",1608728975,2020,135,114,452,3028,15,"notable","languages","web boilerplate","other",[24,25,26,27,28],"django","react","saas boilerplate","django rest framework","tutorial","roasted",-0.281,{"positive":32,"neutral":33,"mixed":34,"critical":35},3,5,0,8,16,{"execution":38,"idea":40,"design":41},{"positive":34,"critical":39},4,{"positive":32,"critical":32},{"positive":34,"critical":42},1,[42,32,34,34,34,34,34,34,34,34,34,34,34,34,34,42,42,42,33,34,42,34,42,39,34,34,34,42,34,34,34,34,42,34,34,34,34,34,34,34],null,{"problem":46,"audience":56,"pricing":44,"motivation":61,"time_to_build":44,"stack":66,"openness":87,"stage":88,"team_size":87},{"value":47,"source":48,"evidence":49},"Starting a Django plus React SaaS app takes setup work; the boilerplate provides a starting point","maker",[50,53],{"id":51,"by":11,"text":52},"25518545","Yes, this boilerplate has two main goals: (1) it is a good starting point for developing the more advanced applications (2) it is provided for learning purposes, there are…",{"id":54,"by":11,"text":55},"25518498","True, that was the purpose of this Django+React boilerplate. Provide minimal and easy to follow template. Additionally, every code added is documented in the series of articles…",{"value":57,"source":48,"evidence":58},"developers learning or starting Django and React projects",[59,60],{"id":54,"by":11,"text":55},{"id":51,"by":11,"text":52},{"value":62,"source":48,"evidence":63},"Offer a minimal, documented template for learning and starting Django plus React apps",[64,65],{"id":51,"by":11,"text":52},{"id":54,"by":11,"text":55},[67,71,75,83],{"value":68,"source":48,"evidence":69},"Django",[70],{"id":51,"by":11,"text":52},{"value":72,"source":48,"evidence":73},"React",[74],{"id":51,"by":11,"text":52},{"value":76,"source":77,"evidence":78},"Django REST Framework","commenter",[79],{"id":80,"by":81,"text":82},"25521082","scrollaway","Yes I agree with you. My favourite stack right now is Django with DRF+Admin for backend, Typescript+NextJS (React) for frontend. I front the backend with Caddy, have django live…",{"value":84,"source":48,"evidence":85},"Docker Compose",[86],{"id":54,"by":11,"text":55},"unknown","beta",{"praise":90,"objections":102,"requests":129,"questions":141,"alternatives":147},[91],{"value":92,"source":77,"evidence":93},"Useful learning resource for newcomers",[94,98],{"id":95,"by":96,"text":97},"25517772","mrauha","Thanks for this! Looks useful, will be checking it out after the Christmas festivities. Coming from academia\u002Fdata science and learning this from the scratch, the python backend +…",{"id":99,"by":100,"text":101},"25520419","dstep-init","Wow this would've been so useful to me when I was starting out. You are a scholar.",[103,114],{"value":104,"source":77,"evidence":105},"Boilerplate lacks polish and has incomplete models and unusual user model code",[106,110],{"id":107,"by":108,"text":109},"25521370","pryelluw","Falls a bit short: - Should use the django-env package to have a generic settings file - Models are incomplete - Where does registration happen? In the backend? Fronted? - Weird…",{"id":111,"by":112,"text":113},"25518818","agconti","As someone who works in Django a lot, their non-standard approach to defining models is wild. ie. Their approach in accounts models.py:…",{"value":115,"source":77,"evidence":116},"Using React adds complexity; Django templates may be enough",[117,121,125],{"id":118,"by":119,"text":120},"25517950","TekMol","What would the typical HN startup gain from this over using just Django? Is there anything on the Demo page (https:\u002F\u002Fboilerplate.saasitive.com\u002F) that would be different? In my…",{"id":122,"by":123,"text":124},"25519702","drcongo","Why does this need React?",{"id":126,"by":127,"text":128},"25518216","MoSattler","As someone who has worked daily with React (and Django) for more than 5 years, I am always surprised to see how many boilerplates and tutorials include redux. It’s a tool that…",[130,137],{"value":131,"source":77,"evidence":132},"Remove extra stack pieces such as Postgres and offer SQLite option",[133],{"id":134,"by":135,"text":136},"25520101","freddref","You could potentially remove more? I would maybe use this if it was Django and React only, there are many things in the tech stack which I just don't want to get into. For…",{"value":138,"source":77,"evidence":139},"Use django-env and cookiecutter-style structure",[140],{"id":107,"by":108,"text":109},[142],{"value":143,"source":77,"evidence":144},"Why use React at all instead of Django templates",[145,146],{"id":122,"by":123,"text":124},{"id":118,"by":119,"text":120},[148,155,162,169],{"value":149,"source":77,"evidence":150},"saaspegasus starter kit",[151],{"id":152,"by":153,"text":154},"25518887","andretti1977","Cory Zue has made a saas django starter kit (https:\u002F\u002Fwww.saaspegasus.com\u002F).",{"value":156,"source":77,"evidence":157},"cookiecutter-react-django",[158],{"id":159,"by":160,"text":161},"25519221","ohduran","In case you're looking for something similar, but django-boilerplate doesn't adjust, try cookiecutter-react-django instead. It has Heroku deployment, and a minimalistic approach.…",{"value":163,"source":77,"evidence":164},"Firebase and AWS Amplify style BaaS platforms",[165],{"id":166,"by":167,"text":168},"25519799","phatboyslim","I admire the motivation here to offer a boilerplate to the community using these tools, but it feels like a lot of this has been solved by the Baas providers like AWS Amplify,…",{"value":170,"source":77,"evidence":171},"react-admin",[172],{"id":173,"by":174,"text":175},"25520185","theptip","I've been evaluating potential replacements for the Django admin to provide a path for progressive evolution as apps outgrow Django, and have found…",{"comments":33,"answered":34,"key":177},[178,181,184],{"id":179,"text":180},"25519014","The tutorial is still under the development and I will update the User model logic for sure (for payments and teams features). The 'wild' overwrite of User model was minimal to…",{"id":182,"text":183},"25518660","I like the way redux divide the code into actions and reducer. In my opinion the application code is clear with redux. Off the topic, I mainly write in Python. I started…",{"id":51,"text":52},{"commenters":186,"max_depth":187,"maker_replies":33,"first_comment_mins":186,"lifespan_hours":188},62,7,155,[190,192,194,197,200,204,208,210,213,216,219,222,226,227,231,234,236,239,241,243,245,247,251,254,257,260,263,266,268,271,273,275,277,280,282,285,288,291,294,296,299,301,304,305,307,310,313,315,319,321,323,324,327,330,331,332,333,335,337,339,342,346,349,352,354,358,362,364,366,369,372,375,378,380,383,385,388,392,395,397,400,403,407,410,412,415,417,419,421,423,426,428,430,432,435,437,439,442,445,447,449,452,454,456,458,460,463,466,468,470,472,474,476,479],[111,34,42,191,112,34],"project\u002Fcritical\u002Fexecution",[179,34,34,193,11,42],"maker\u002Fneutral\u002Fexecution",[195,34,32,193,196,34],"25519388","wbc",[198,34,32,193,199,34],"25519405","disgrunt",[201,42,34,202,203,34],"25518151","other\u002Fneutral\u002Fdesign","syndacks",[205,42,34,206,207,34],"25518370","commenter\u002Fneutral\u002Fexecution","Demiurge",[209,42,34,206,203,34],"25519341",[211,42,34,202,212,34],"25518384","bredren",[214,42,34,215,81,34],"25518941","other\u002Fcritical\u002Fdesign",[217,42,34,218,212,34],"25519082","commenter\u002Fneutral\u002Fdesign",[220,42,34,221,81,34],"25521485","commenter\u002Fneutral\u002Fnone",[223,42,34,224,225,34],"25519105","other\u002Fmixed\u002Fdesign","aiisahik",[80,42,34,202,81,34],[228,42,34,229,230,34],"25529156","other\u002Fneutral\u002Fidea","WD-42",[232,42,34,233,81,34],"25537827","other\u002Fneutral\u002Fnone",[235,42,34,233,230,34],"25576714",[237,42,34,218,238,34],"25520210","yout2",[240,42,34,215,81,34],"25521194",[242,42,34,221,238,34],"25524606",[244,42,34,215,225,34],"25519030",[246,42,34,202,212,34],"25519377",[248,42,34,249,250,34],"25520502","other\u002Fneutral\u002Fexecution","nickserv",[252,42,34,202,253,34],"25519775","robofanatic",[255,42,34,221,256,34],"25519894","benatkin",[258,42,34,218,259,34],"25520322","krzepah",[261,42,34,221,262,34],"25520909","arcturus17",[264,42,34,215,265,34],"25520156","vagrantJin",[267,42,34,202,250,34],"25520369",[269,42,34,221,270,34],"25522052","ttymck",[272,42,34,202,100,34],"25520505",[274,42,34,221,265,34],"25521223",[276,42,34,221,81,34],"25521446",[278,42,34,221,279,34],"25522640","ulisesrmzroche",[281,42,34,221,81,34],"25521377",[283,42,34,233,284,34],"25523823","samirsd",[286,42,34,287,262,34],"25520970","other\u002Fpositive\u002Fdesign",[289,42,34,229,290,34],"25519197","silviogutierrez",[292,42,34,229,293,34],"25519488","shinryuu",[295,42,34,215,259,34],"25520381",[297,42,34,206,298,34],"25536260","czue",[126,300,34,215,127,34],2,[302,300,34,229,303,34],"25518469","djstein",[182,300,34,202,11,42],[306,300,34,202,303,34],"25519398",[308,32,42,191,309,34],"25518213","city41",[311,32,34,206,312,34],"25519773","Kunigaikstis",[118,39,42,314,119,34],"project\u002Fcritical\u002Fidea",[316,39,32,317,318,34],"25518017","project\u002Fneutral\u002Fidea","arvindamirtaa",[51,39,34,320,11,42],"maker\u002Fneutral\u002Fidea",[322,39,34,229,279,34],"25522428",[107,33,42,191,108,34],[95,325,33,326,96,34],6,"project\u002Fpositive\u002Fidea",[328,325,33,326,329,34],"25517871","jjice",[54,325,34,320,11,42],[173,187,34,229,174,34],[152,35,34,229,153,34],[159,334,34,229,160,34],9,[134,336,42,191,135,34],10,[338,336,34,206,262,34],"25521096",[340,336,34,341,279,34],"25522528","commenter\u002Fcritical\u002Fexecution",[343,344,34,233,345,34],"25519419",11,"objektif",[347,344,34,233,348,34],"25519577","arendtio",[350,344,34,233,351,34],"25522188","toinbis",[166,353,42,314,167,34],12,[355,353,34,356,357,34],"25519877","commenter\u002Fneutral\u002Fidea","almost",[359,360,32,317,361,34],"25521384",13,"albertgoeswoof",[99,363,33,326,100,34],14,[122,18,32,365,123,34],"project\u002Fneutral\u002Fdesign",[367,36,34,233,368,34],"25519887","superflit",[370,36,34,221,371,34],"25519932","oregontechninja",[373,36,34,221,374,34],"25519975","peterthehacker",[376,36,34,218,377,34],"25519998","throwaway189262",[379,36,34,233,351,34],"25520012",[381,36,34,233,382,34],"25520691","swyx",[384,36,34,233,351,34],"25522330",[386,36,34,221,387,34],"25520118","scooble",[389,36,42,390,391,34],"25520445","project\u002Fcritical\u002Fdesign","bpt3",[393,36,34,218,394,34],"25525559","thefunnyman",[396,36,34,218,259,34],"25520525",[398,36,34,221,399,34],"25520699","cloverich",[401,36,34,221,402,34],"25521211","polote",[404,405,34,233,406,34],"25518191",17,"sandGorgon",[408,405,34,409,127,34],"25518319","other\u002Fcritical\u002Fnone",[411,405,34,221,303,34],"25518455",[413,405,34,221,414,34],"25518543","nicoburns",[416,405,34,221,100,34],"25520653",[418,405,34,233,414,34],"25518518",[420,405,34,409,262,34],"25521657",[422,405,34,409,391,34],"25518359",[424,405,34,409,425,34],"25519250","bliteben",[427,405,34,409,391,34],"25519457",[429,405,34,233,303,34],"25518426",[431,405,42,314,406,34],"25518577",[433,405,34,434,309,34],"25518895","commenter\u002Fcritical\u002Fnone",[436,405,34,221,406,34],"25519404",[438,405,34,221,309,34],"25519544",[440,405,34,233,441,34],"25523717","tln",[443,405,34,409,444,34],"25518930","heliodor",[446,405,34,320,11,42],"25519178",[448,405,34,221,406,34],"25519516",[450,405,34,221,451,34],"25519625","megaman821",[453,405,34,409,351,34],"25518603",[455,405,34,233,406,34],"25519537",[457,405,34,409,351,34],"25519606",[459,405,34,409,351,34],"25519719",[461,405,34,462,351,34],"25519824","other\u002Fcritical\u002Fperformance",[464,405,34,409,465,34],"25519664","biddit",[467,405,34,409,230,34],"25529313",[469,405,34,434,262,34],"25521263",[471,405,34,434,351,34],"25522123",[473,405,34,434,262,34],"25523081",[475,405,34,434,351,34],"25528731",[477,405,34,221,478,34],"25518780","tomcam",[480,405,34,481,262,34],"25521327","other\u002Fpositive\u002Fnone",[483,486],{"id":484,"t":485,"points":300,"comments":34},"25160704",1605882534,{"id":4,"t":12,"points":14,"comments":15},[488,493,498,502,507,512],{"id":489,"name":490,"points":491,"category":492},"25495393","NoteCalc",267,"productivity",{"id":494,"name":495,"points":496,"category":497},"25484133","Owncast",241,"infrastructure",{"id":499,"name":500,"points":501,"category":492},"25497737","Pop.com",239,{"id":503,"name":504,"points":505,"category":506},"25494988","brightpath",222,"consumer_social",{"id":508,"name":509,"points":510,"category":511},"25455659","Panelle",192,"creative",{"id":513,"name":514,"points":515,"category":506},"25461367","StumblingOn",138,false,"v2",{"id":519,"name":5,"line":6,"ai":516,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":520,"top":18,"kw":521,"maker":11,"domain":10,"tier":19,"attempts":300,"strip":522,"url":9,"mix":523,"praise":92,"objection":104,"sub":21},25517226,-0.28,[24,25,26,27,28],"1300000000000001115010140001000010000000",[32,33,34,35],1794036599901]