From c20c300e73b0e1638fb2a70d479e12e70bf883d1 Mon Sep 17 00:00:00 2001 From: Rapturate Date: Tue, 28 Apr 2026 12:10:04 -0400 Subject: [PATCH] Added a README.md that covers local user testing and a link to the production api. --- README.md | 20 ++++++++++++++++++++ Updated Code.zip | Bin 20742 -> 0 bytes package.json | 5 +++-- src/.DS_Store | Bin 0 -> 10244 bytes 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 README.md delete mode 100644 Updated Code.zip create mode 100644 src/.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 0000000..318a3bf --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +Local User Testing: + +1. Create a Postgres DB + - name: idea_tracker + - user: postgres + - password: 1234 + - port: 5432 + * NOTE: A command you will run later will create the .env file, so feel free to alter that after the fact if you don't want to use those credentials or DB name +2. Run the following commands + - npm install + - npm run migrate:dev + - npx prisma generate + - npm run setup:env + - npm run seed:dev + - npm run dev + +Production User Testing: + +- Go to https://idea-tracker-api.onrender.com/api-docs + - This will likely take some time unless the server has been used recently. Render shuts it down if there isn't any traffic on their free development servers and I am unwilling to pay to keep it live. diff --git a/Updated Code.zip b/Updated Code.zip deleted file mode 100644 index 25209ca2dd2391262608f9cb9573334ebd63f561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20742 zcmbun1yq+?(>@H+Dc#-OUD6HG-Q68ZNq4t&cXvvs($X!`-AI0L&f|IU9Q8TR_s4aE zEY_OqchA0N_ROA{Eh7O0j0EuX1udDP@yCDu^9=?74?xkzK-a<008hZ$z>wDQ4HN(% z@Y7%a_@<};0|2&FcVv40_{2XxGJlD>k@!&*`rk$ATU$BUSzA~b+S&h9?8irOXOGX* z&p*Y21AqhM2PXaS2`PRjR@c$NMBpzN8Z-N!eSAod1JlL-;FL!4S#{FE30<=H?1|>| zk6OuIR)E6NIfBwfzF)CT$|7?h-8be%gb2`0+qc49dt&d zPo$1QuR?4_Bm4~FU9M}lhj%BaC_bIc*4YCL&>jyhem z&BF#&F}jPB%Sl4`;$Bde~NL8qAIPDBbm>!8^#qXwj&70wqBz9ieGA0ET1WPz26eY;oU{!_a*$4II^2 zO=FVxt_P_KOr_)TZdTxL0bP}+!C*gqRf)$)1W|4(GJmUJTcBG6DrY(w={sHuct;~n zr@k7`_a6pm?Jvgqt z#=IHpZE))8KS?b^hsPS&*usWKDWUI=MMj;0DZ2f1!XM3%pD>eFhFYp!`QeuQL7%&w zw)sQXLr%+Z0pNgq#0ALHLL;q&joLgd@}o`udZB55x6qc4CT?e{Yw^D=_P#=g^e!D- z%O$0oIe}0fp7hIBAnq|B1O#oJJ?aMWy(%Y9@bhKWc`+L`EjF(3g}qr5V<#j1#XV}5 ziw`<`@VAbd%aAV%g!YSo!!8}21DwFdagnDMg+W9K;21IhWn~1yv1U*#yW&&Q+1pX6 zJ5reiZf<;!Qq{GnQI1dyA*Rs>>Pn-u)a^@-gwYg%P{2o!1#Aql1k~2Xc|+OZ$kJ!D z>ok-gGRk&o0MyPSg+S2YK%`-3oOav6Y$ge7tsH=d5$!S^-i;@w)?M2Y$O_2d^IPLF~`< zg@|m3cQajrpXRCyjWw9w4BMcU!{$Ur)eRP~7P203GvSFoQYKXz&f z**6qoudMUeD3lwkLlKl`I*OOhdEU7?Ic z?#U(6lae5yRR?>}rX>3?VBuoRXBn#!E73&Kxqq6Tv5Hi;l~-&obCic(-fy65FbDf> zc`gc5DXU38H!EeI_<+$!Q9zKU|B@a-FkI43VmL>Nkw4mG#KgbK!U9C+%qSa#>@ntF{*qg(IlV=PcS%> zGf<$!HYC@T=z_6CLN?}0_6h3KP>w><>F}iN^I{Yoc=h;-EBn}zI-Nvy@R5~LKRq-w zVF0G5tS@1h?172~nK=g{sR0&wY7=_BY>D>l;T0ta1Pa{S#BfIH7TXgTjUmCLBJDm3 z4vi{<=98LwaSWwp>2emz<-Q1ocN~pi^Z7tm^iV^z^*FO2TI|?`XEEN?@QSz;uD!iv4+GrfevPL|KS>*(y}nXD!uP`cV+kLm-# zJ9>Z(A8giCA`+QPb&i^MyeXRLUcRK1v{X+-{K}1@F)A`>GcjGfh+H@$|A|)o8jE)4 zbz4mq<;ikhSVFC+SAWr7-i9Z6rMEm4tL#&u4=RZCU)^H}U}N82ba7`O>p;cbAT#WoMD$$*Kex_($1uIySO1aJF8Xkmc*9 zM>W4ZTLZg3rE63&6w2w2Aj&y!fj`@2ncWl&;Kbbv7M;B=KtOnTyD|0EDf z`}h-E`v!LLij@zCKWD9P*;}4*E0O#ml*SYnSJ;=)nh>b3Rh^}(AspR;`(rfe+lGem zMl}6iM{FgWPVbsAgj#h=b{?)sMp*56>6z2(PS1Hpv(O3&%w&60o>=&oX${t4=8sou z0xg<}<+gQT=O-5|xDN2x%J9R3X=( zQLbQM7Cn=&E@rKHsC&n0SvF zEOg%dAsg}z71=t;pBsmWNLiczdg%U|9q{2AeQVrO2t(`w%bqPA`ur^%;n~sg!NJEx zU_NSlx;h-!H}bu+#K5wh#uYYv(B|Bx7UX8|c=6=y#^2Kg+dl4;voF6pyQgsW@8K%i-<_SMseyrop|h^t z&x7EnDD^1_{(ZDc`WvZF!K$H^gQ@=GR{Wb#b?HAKxpJ*m^K@`a=SZ7D2s&^uqvZYp zdGIn0Ha;vS{#oE?#|rduV&`w7zmRxbM#st*<8TnIML91or_MTsqaBF&CoQ0Kw>mp@ zb2_~m3s#I*9Cq=KV4bel9=uHdXs#k4QpSHsJjaLgO6h$ezBU#vcxG9fyg68)q8EbxV^$nMG3(it|WqD_*sWO4cp-?n((tpu+XFQ_-4 z0J6Lrn}+f~p42V4`JKDK@UMB6?h@oCUIS)vPiI*yMrgD^T~#ov)w5A_dX^P|o)ZKE z&KS>r9ueyYQ@|kahWG6!LDuShDY8)??4mroON^~zHm&YX6VJFIFC{AbiE1xw?H$4d zLYbNZ&e{vGY(MjbodH)fTp-?Hc1h9D&=HB? z1sikvF2qPl3<6yh?sa1qY}ja;v!Md6&CgzTkJKdlb&VEk?#9CEuiC788tiDMMaEal zQ;+XSDA`o`N|dAsV`r|KWra7h6^Mqzrr~J{98TzRd5>+5XpV2$lmVVxAyCe|o*+*n z#{~aagb}FAe*G@^X7A+_71=!&_S+x#-FBewRQy?rL;oAnnCMzPvQkOc!t^moGqtu7 zva_?cv;PH0dJC_-O zL>jyYGTbBxS_=s5C3Hq*FIc-Dz+~G(&Z^;880?CGI1*58bJP#$+SE#;QI>l2UPcI; z_0!kcJlYvW6#eQcGOGDwzHZ7T9ZH!pb;jSUCrbzIwJccigA4{KP*+=0e07OpoZxx- z>0B-xIBbu%OLbk_jn4XnO}5cO7-1)&unat{cqeHrRt*|Zz%tg9s``+}KP*SRKRxH5 zos_FQE2a9du?P0F2Bxy7b|8;yF!1>NI(Yt_;X3`PeM7!S1O6A9uZ`l9=;DR*JN$-h zKaXU_btXrFgX|0G{W;`KB8fgj(qb4R=DghXvL^F(M;);5l9BVWE8{Zke6NHjHI;j% z7j{cl(19o_%!-#W@ z#%8^ceRhK z1VdoXwyhE|mvLOry&|0xFvjJ-fuh3>d4Z+9&-RwRcD9lBaN!%O>%lU%_ro6! z+0b3d59U$(BEPi)vfo(2_Z1L(N>~5I60|COeDa+wHvX)gR;DW`_BIku|Kog?7edx=bi_!zq>nd(LZ(i@cymyei652aCT%0f~bfTW3R^$p6TtFggSi-fC$dac>T<#_2U z8CW+z_~vuENb5lRp!SaIY749g7mb|V^?S608b;)y_g~nn&{PVq)%7A#I#BS3As^BF(xA0JB`qp ziXMT|hha~$<8kIpq9<3udl*&O(ryE*yY4&xR>_1C$Rm~dBJME%J+D>>O}Udotwpv2 zX=ybPjjI018uiGY2js8?9n~qJpLdPUkrg3K-2iPPv{t8f*qaEm^{Ft_X;M)&RxE@5 z?YktR=*=JjeRF{#hd~yW@yj7?qw^+#H{y1r8&c`3{iE#7P1=z3C1tp?QO4;vn-wdh znn7TIKoYp{^#v#t=5a?zGg9*PcEh;{jDWJ-I~+&0=EAyXN{}a5u)veF)@|yqhi({) z=q)Phpxcyh+L-rViSLH^A%M8f~iv9^X-4Z)>;J#>ttTI z52utHpizOzWUR{EMDFBr^0ju860uzvy%pqp(X+&r$m?y+D(y4yE5V<^aGLkrBHrs7 zXqi+ULHprF1sur`Sn{jvyaA%EAV~Fz*!3PwoDhi`P*IV(cYR%FTPS1e-?sZ&u6RT+ z=@X07McG69-V$AK-zc(VPF&^a%9?Ubg6c)J+zZ^5DIYb(6-*?g+eJ)V`{cxT;U)jqqwHP)L_&jZm?_x&hSM@ZNlksUx%M@*PDWkG+ zy=nCy$|4FuXBkX;rp;g#Rlu=o`U=Q}Ie5t=6^?uQN3?{&##I^NOnDq5q z96>iK*t7X0Xb}Wd#0ch27IylY-v;8v_2k%9OC$|w++%LO1#eV2J+<&$-LtaG(m9j9IIH(Qry%;E%xoCIa2pFp0`{W|L9Eb-6 z#}yZA=uv}YAN8^x<||#23N-C(v){rW(nr4Yr>HbF-_r9n*zMu>_gTy4`KQZ?!sQG}W+#Vn=pZreK|=K~CR)vfK@TH&!-Rh;PCtoTM_m6=-jf@(esZJOt&q5Ai)#Gna1IbLCWhFb zudd)1h2q_5K{_xKp)(Lr=|dKXpjdKf0SGl?ZMZ^qS{WIvmvUS4N|RV`T(?ou$-#K~ z0ySOH`V+d@1y*$KR9Qm7uxZB6ovI@w<|vV+693~yji20T-d}E1|Iv+Z`Cb0ajrP-M zCVR51L|itGf6n3*+{gm!&&B8>x9}0f$2cYnNDAe@N-g|MHFm=afQ&eCBU7HxDpS{KT*nFX16iI$9RLdM1-z`_}hb1k}jkg z`_(b5Opoc&y1#N~yhcG(-leg2R&cZ=bfPY;&Y@M+IoSmo*)xJ3rlK!7gZk5xlEc(} z8)<-E>gv;S<7ajb=?y;xA}Ym)W%zpLA&oF_(VbaYORC6WNQ$|wzDZl{QZMjE%nnRg zIze}2fxW5y736VFyN8X4R(toW8|GIgk_%8^h z^+33F9!SFFIe7EB5;BXB&X^aYpI>F+-Qk#19@nfqlo~(C>e24jEI$!8&1Ue5?UAr3 zKX_98|5h`wwlTEQwK1i6t7~cTv$Oo-+9T7aa>UcKufA_R!G`v*)YdtkTEl6ouC^jQ zYK@6i&sp9r?DT9)Mg()BjJK`g0G{UgJSui)BD#QyTBtJW=%F1nbl zaKP5;g--Kw_I4tSE4UbiK7(L(ppL^Q+p8d(8hbi#PE=p0!Et==13G}rz`)1}$(>$o zhpXwa%AMfe&}`uRtI#}Svb8-z2;wX}8H*-~t2iAowjTQ1Zd2c0CXy^taOH^tKa0$i zJ^=?BLlS?!j9zQ8>I`a?OBM-sF~ZJzfq3B2wyHFs;VdqNwkUWGY6PNQs_tWUM7yho zhX(D0it+=236LPw_(%mczJlqPt50S0JrEhSF(2)>cm+!Qr-V}5MSb%*@KxM;O(^_G zMKWo2x@sAivINVsO}D&2>fj+tz1Ux9ak$rrRcO}qvcXer;+vEv=)Nrjgy3cLnlr)M zQcW@zpr(??+tmgS;u51vhaQuc=EdqHBTgWj2JplGC~wNi5jwQ2gxCu{b;M4}e^6y2 zccB;-8)FhkG$J;JRi)tVS%u5b_EC?L?utyOc!^uZ?2R-6*P{QU^9>C!SxW$TlTe97 z6x@D>)Dg9GmZ|z#xKbGK4*1xq`Z(j&%n``+EP~k^f_6&az#g`UwIJ3EUB=ToMstCE zb-57s8qOIq)}w;u^j0rf7cYGb{3N4B!4;UZ++6O>&>Oq78lcSnARA~CK}5k1GJrX$ z1Ztn!M{15Nv={4rVIW%ZOb++yqxTTS4(TS&%1{W@Leij_h`X$Ow4DfHfXyr6MCjj}aj6x-y+OLBb;y z5)GRtb=(>)V%EPvCuXPAFb3Nnz;mCdD4a|;mvx>k5{4H?2Nqa2D^v)Inq1Cfh>Goq z3hj=P5vha1GpgY!c4bnZqf}Y7XG12FEl*^D8#&>fAx{||X9VQW41#>+R6dn8bc9w? zXw*L9aQf1uUCMtfiz+Ou!^B^=#5dhJFpvhip{nn;<@31)4|8e}z=Co99H*M36)9hB zkw#+^2eQ&Wi&au#6N0>Q^d!lbg;}>ruV$6O9j?fP+F=J3p|_U~-ohhFpUz-G+tiPP z&DTux2`!WeE!FF$oyyc=2tT~im^5ifI*qee)@0W!?d#=m8&n%UE4fniCm_r`FFDu8 zIFAOS3D_91-B3%34=a?+z@;CNHo5R}xdzX>@nX>1cjrBNEm()UHgk!^^d=pF8C&Lc zRbq#KB?hUqUIP4 z@n0)*@PtA2dt<2k5h-fS@{;f|IL|F+?*Qx2SEHjrtH?`|$V|E+2Kahl>LfGE&gE76q(@B%->&FNh;}0m9qIRu@@yCb=Z(QZs_=Y8#mA4dBp=RB zBvF{s_j7vah`YA_3fq1f4IdR18E&d#ArhvQEcG5-7iFe4R#4yaG%6PzF!p3%3Z>5{ zP%}?_q8jL$alWg(cy1+p75CcOVHCZ--hgUJHiVT&j<_U9P83dr62Yk563 zr1^}KN5U5ivvzL)5B1KEI*}XckThm-vm4KklSqs6A&cvR>S8lhF7IaLtlbUM9CX#m zn2y}#PB;QS25_9(sj=pr&kn1Z%(e2XuQGUqi>u3BMlwoR<_3{%OFxK+Bf@G&0E7#x zk?#mV_hByLG6*kDvLuCUvbYEOuzZCCEYpSI- zwtYS+Bk6L_1_h3?ph4&<8WR1M`apS~J|9Kad#mO;3*x3t4mFt9?uzt78HIAvnHnRR zUoQ|}l#_SyYcL$3jVoN)X1lq*w_U;4wuvsJ&BGhH%jk7SLvmh}gbK7J%^Unu#Mm(J z1NIX4Jk+W6B_Kx#%vE-zTVQ`rQ^pu#Y{nICX^rQ24fk9{PLc5i3C@`^aA^4_b84(z zPlu9}dj?9pnAXz?RD5@-OJP!N5g%m-BH`^-+|`M(^z7HOZPsZA+_Otd2ddf43M~OjwC_)j>t$pQ2n&-Y@&dV@^bEY zZIBw$dr&aNf_(#SO0cxzMvw$y%0=Vo=YvH(A5l0CQ^=b)7k!eml)%j@JRQ}n>2utW z_Cv~WzJM`DO0wMzKBY0y#s?^NUwNUZ-NK0Wfx-LRo}IiRQJPE^g>9?6tDak zxflq254V4IgpBd`JkZY2#@gQ0!P?H$@YgL5|NRh|Ej>L=h zBaI?fr9mdC!9-iPL+jO~RVJ zy1xRbnI)3`1?!gP1d&P?!CvN7&_hmLNAW;-PjD|;>Vyh{@EBwNE)^7)@5YNOvhAY$ z+G_$LfYUcccGn)$pr0@9#lbKd_ledZY#6}^X!K1fc#BpVv5kpHU9LJpq0Vb)TEe{u z$svtWdhi6n9pIP3z`6#G4ltWqnAlMxD^+0?uCbNVl)Mb#jP}@%#9pW@bcOnbzXt1J z`-sO!z80>Uqfq%eHO>E$D_M}hOa2YnfaMr75!3KSu!;`xR^p4Y6g(riTET7R=!jG{ zX(A~I$~Xnc8%*|DmqTWBVKXQ#JvlXk&mDBcOy7LBDJnRq^4sz4vOYH#ywXJjEsIb# z39DiKEC+*6pGjaRb&!=pY}TtxpW!W91)$AbAQM*_5Ia+7R0yUGN+EE}tKg|eHj)s9{5VEKt;r8%hM*WAh#kV9 z@BFcmoMmX+^P+$$eH$uceYgyYv=6~zq6qd9E`KVQdb=%Q)~@7hu^M*38|MgD%D1IB zq$Jz(^SD$kx_Zibs!4>E6Y$bSZ3Sgal2Y+Xvt`j3IkJ+Dd_^Bw0EW?Ncc+k~@Ioh< z%`xx3eYyRTZFUSw$i8k7^vQ1CCpCO6vRY`~R)i-GR=>GEX|H!Wr>yS?=d-*f=mNflta6SDXt}cbLd|;YPLf+R$4dz>x=|{v z-hn>ZcED{cE8OErqyW@++y2>^{6E@`ez5Jox+(sp9j+@azJ5H9d^e)K+8U`83@tDx zLFrqdMnseWesSyxHy91YOeAgGOszQZ@WI|9UrL-@poq!xb=dyt;vJ7gg5jD583T%> z5x$sU8hrZr9oZ&?>rBMEagl9j?w5UXQ8A~ds}Xz;_eO8-&hO7GY?j*aMZQjL>VkUk zx}n@Sqd|`t4$BO`6^w?6K>Eo37Qit&k2)eU2-p?{?5Y+Ifge7ME+hhi$ZB`!9Doso z2$de3JD5+{C4~q9Ng4~7$Pj%ZJ^iJq*Q=0D^B52#0|?VFAsnw*q^nph*c+dlj&)}{ z2L+NO{-g-Tl|j~HUlWtJkW53kY91&Qa8#1(%%S#X>Q*silJbFK(NOblVDt3a`!q)6 zTq8tsg8mQ-Y*^)R!srp>5CmrEHI{aJHqPP;i)uxg>+N=#e7>TfRt#;}AEljV`TPLu z{i-9`9ShYnAl8nB`ZuY&+AV-zaKyuUk9{K)ge0XBlmm7OlAEgv#$KzM(hShmL}sAj zR2ud)cnggIo6t@yZvn}(qoC6ql4V&nn?qc&q>`80`VynGQC3F z6ogy0Mgj%6AZSGbqe<)7pVak~(&v(DY6+{E??@SQa;NfOT9J);S*d-r$uSeAlR?wa zic`0DeI@<;8^ZmAky}k*h!Dbpd!4#7i)EvQ&URB=9*>S>{f(5e+uGhVFvbTws)G_F z=QDM}UC%*$amn@)^#f*I#r4)!3Yc2;0>{s!U#;V|#F=@-CLqNG23UPVfpug)E-6fg zdlYnHa|PC^<*tMl!Ut8xd%QHSr6d#oqh!j?n9tGDXC%l?m?N~*Pb%E)>fdLzlq?k?C{*tYtDR}L-;I(R2YgR{@Zm^7U z-ydT$=&LY<%4ZCvb)zrSe2Y2lxQ*0h@E>c1>%SOdd9+qtnCI3S__xj#^55>5-&-g%2WNJ8y#1-_+%Z^byu zlCGCITLxmO25hGxoLG6`Y{`b!Qy9OH)g&fpWU=RGwUezGdU=z%q{UKYvyM!(Wt9^o zh6`7qAhfb`HeWfoIk-C>-*=r4Y#+~#A#(_(1NlQCNXkU&iIpKrue`=^^Xlt&-p39J zCMHv_5FC%r#3We$`j(B~1RwmB6se8l%QkQb@3(ePJU%*l&_`D#a{m6-)v714HmxFp zUo2Ef0)f|{s)tSaCQov;%2#$gm@#&3m;_c+5+L9S2=-_=+SoWg@bEk!V&j;lI}_1v zg6J}!&7UDb8cJuiv_Js8IinQIdGmV1&_Dts8+emlOjgNGT?4v3vG`cQkPZX=6#_&` z6s58@SPi_P*ay!!exFX2&7(QJEL2;l1kem#9(a*8?ukQ(UT>4z*hq{dJ}rgch4 zrqU6ZM=%VIJ0~h;0vf!PU<;z=;7Q#f4bB=xxW-r{Bt~dZ1c^>$fLE_0Eg+MhfoK;_ z%!po!0!UQj^SCUoJgz%IOII8m+GKXq)+^U=&A$@ftW@-=6upJXGT}z^@l$61Xd;b= zKY-fJrV_?XmeLPm%uF#cX2v^Fy~6~vU+U?t@BUJ)+S5u@TExPn3>FtG+}}}nSc>`+ zsHMx;RDt^&QCM8`J6Aq6Z(gRb=_qXSm%Ixva(#GQH#7uEgd6}&zEw;?R|=&~7qY5i z;tkbEnHcWkuyrCFKEUYePg+nHwg`>3sI=nU_EUqRscON-=x`?k*NC*ECXLwdbTd^b{bN2%5Gt0JA9SefY+GfEcRkg@|&YInL8YRA<&;Ja1p z!rXZZ6FwdV`*-v2SrUWia~wx{ipsp|li59MgcbTp-( z?}?3z%W{`?*bamZdzLS78}qtj$QQF(#JY;&eQDn`smV+|aZJ17^6|O#)@M*Ifzh+u z2;L!Gr_bx*FMIuSx%7 zd-bo2%f!ERPmcD6cE52=PwmU!T~n#-AMML6o5-#bkI7d-f_H<$x_GhpnOfros0Q)U zXD4v@!DVw&`mC%4m!PcUy-$1L6qF3G6xkL7_^b;2gENwm!;>B)uVxdZl*PRB(|Rq7 zLB7_aNJoL{MshBwGQIyA{(2<^pa83CFp}3CeTQ)V1D7=q%e=En`E;Z>mmZ&D&|EGM zZhNvSMI>^~$oO1wtFF+VxZ4YFR1oq00bV>4tuG9z{5FR0i6t#+30Dz}`*AfuVN#=B z%t!vk4VJIi<_v(aU3#{!Ugz3LunF{(TK4znqL#rot+wvo0YEp+ZEcMiAK9j|@%r~h z2C4fup8+5e**5g<>hWl69Kfx)#7FFa=ptUJHes>?YhBe;fpC%UT5ynf(sh)qmDPD1 z>E5H+I@5jjod(>B*2aS|jXBV2YaC~I^QxAf&x!q_&FL;+Y;o9n7YDOpzb;{Nr}^TJ z-=5bebC_(!6%yNN;E%qIyS^+u1Hi`~_`fRFKg<7+{;{mqjt>7%nIHZyBtEqc$^9Yx zUnG5oG7_+zcyNoCNP7hkUO-GVp_oz{rd$B$y7-JEd}a&!J4`_lLqUGjmDF3Wie_fyZ34WCv-c1g)7Rf!4^i>Y?)L`45L{ z5x52?G6YfF`gxXvTM=|lRYk+v*6IjdpV(m79a>M$#fS|60b71O)slujV zk-WPXB3y}MGAW0?7ZVH4H=wN;+4r@0J8oZ+cl~HSVBl9;%rfcWHbyW|1kY>xK33~LIk60MTV#Q}IPChix;%==E^`~X|8@BIwbH-FaC zH$K~-0etP3o-3_v*}H=5se@9wy(iZA-5{M)bJ?KlFN>y8DoExC3IKu_(7;;#F{r3k zmYH4;<~h3a8bjRl=AbvD_ec1}yf&1=sA%Kh5Nc0PTFu_bU$lsvsGnW+2^luAyU2x0 za%E*WHQ_5jTgrTym)q3;@mrj%<|v{&+?E~y5^a6|`Yy7x{^)C+3#ZshJ_lnZd->M?k(~sM?_!dy^)*27^aw0w@Chi z`^PBomXC_CHS}{$%<82{Poo2m-s=OqsH~fHkJkmSEAI;r zogQ_Y_3p7bK!Wb&*(t{zK^iRX>gKdm)x`@GZl7|T4t6Krc?OTS$Bvmmcbaq;p!Xe# zq}zbCOje|vh5*Iwl1D~v!mhr(o8N{Slp!YY;NS;*WpwZaZZ&|XYE3LQ$1uE8P1X+Q zAxa{kzTu9W2suV%_xIFaN{1_OJD1H%`Sifo7{V%>5&Xt8!z z-v-tYIiS{*o%nTPmD@giZH}<*~_hY| z9tvDOJ}e!?3{2vcXTh;>UQJqBN_O#t0(VS#q9(l}&85_eZV*y>kApUZI%qy0FODt5u zjBs#WBM>-^o^;HHR27o4VU~8I6y%~tRpMPVNbyh8P)N1P+Fb6_&A@j zVtyaCq@3{e#k(@=>o!6s3&uu@6D0u@B{M0Z)n*b+!=}p~;(>93RFO?MZLJ(kU|Ke) zFSa_zlRN>;auLz6n;5O0cr9VZVTb%@7Q+TsYuRp<&31CpS`x0nvV2jc6+ja)gT9xH z(V%@iI#>3vRta`PyQS@OrRp5XTzf?0mVLL{BY+|X8)?}ORG~q6Z750tT!^j?&@4#G z%jqMQCs0pz>v#k>T=~cm2axA>n=1I@JQm8|z2sw<;bds{iw$JA@XrLO^s%rSrl@K@ z&kN^qS)RzNtGv=Loy>1)lbH*PW*4=aiIgIwHoGg{yki!Z9rWO8tmF(kNBY)yBl$GB za?nm6yZ>fkFw3($30mb&4~$T;kWpWme|m1mYfw0usUZh!z)yWz?|POT2Vb_Zh2vEd zld(Z{X{mU!lWyqIx4j!b?!I0&D=r)f`0vcc5>QntUQrV}3sC(M<(HB)TjXWaTLV z?;Qxb^FYC&Gt7wLCuw=P z!@^{f>KQQzU-DB$$U2=dvrCgHXKu1`_zzNMi6P_(cXN^RQwq5SPPDukg}3I%YjGGL zO&>)eSj}R#F)gj+OO6yH=1{eDB7?*6VdUjmMOu^7Crc7nP+&HKMou{~NwzP?TF!>U zhEkc=^{tTz)32Fl&7NjhUW^OLF$Fk#UcK#kvD%G|ET zhIWCre$NU@eVDqb&8oHca#;8yXQF&Q8z((1tW@EenM*rG@6lM3+1}Q$X=%{BL=`z*@A=Y~q9_2`-88;)AHH|!ZgTNSotIfjgXIex z(oTe6lZoXPEZMHLXfE4DC*}?%=E5`XSb{(*)-XQw(}0>Z74}6IT!gwHgfhHc5lqxCT=E|J~ui} zgM@;G>g@ z0(n7Y0+8q`GqmeN;&aV>^d<**vZYpM=R=&gs$zyKeuWZ-c=A=iZ4bwU5tkkEjKb1t z!Jyiqw?TU0+Fs;2py|v-a11nZ&Mqwte@+x9OVG3C1nwE%87v3o~hNnl$ zA|mHPbp2)>&o@?e(k{JW7vw1PEqPPmer2LP^d%Ie9^Vt5=`}a_bqpv zSIQ37M1Cgq41gsWE;BI=Mksf{kKk|UqWuP>B(l&e; zXpHz}jDUfvEJ)NPTO<^@QR|&{!1u8%8%BAs>dd*j zk#_`3tZQHwr(FC%cd3KfZvH&uE~-I79evy(6n{G~_>U;!X@~fOL4QQj|DHlUiXFj^ z6l%Sp^v~4+^R5qQt?3P*Nfw|XuNgI0o{7;!RcDA!u>iln6vybHEKjZQqiPKk8E;{= zPWxJ9>i5|u6d+CJUGXll&}D$5X%|1igh_T8wL4KIJSXa^L~c#fD+?9<53V!fW4tMO z^$6;j6x0TOJ9QLMg}5X!_p-JqLRVkt-g6wisKcgpAZ`fIo^KV)m%(s@E7g>X?5fme zi=IS@RtkO*CmwY;K6Du{c{sU&`t>cWZ4hUP&^+EW{XQ#p;)|@_8kE;!dj+?Gjm40X z0^J};C1sVqrIEZx+H1KHDDMkDi@+mKtQ4WiS&UHZ2eqy54U2wG{aW)XqLZ!TPG}uL}#8!$X+Udd!%xROEp=`chR`qQAXS+9;lDI#3F@DjsIv{w8v$I zA5$2c7FUzc8BZ~3dpOwR^4qY{c{P%&T5|@~?DQ1whQ2ILqS15$3jk*9qVhHRrygBW zUF@^a8cOFlP_M3J=FBv^80;Xae1YIiKc`p=kOusrfap7zia91(94;Oh9V1|EvR4?L z1;jv2urLC1k^yiF2=BgjGHpZHy@&{_Ka*Im1>HpeSo;QgbjsS7ezG9V%nx;?(LQCU z1*2;UR?M_Lrm}1vFNTaU+oC`0+Di-cDRGm!`}3>&nm!)uoS?W8EJA^|B~gWB&SOxs zDie-ZbRdln=R9#LYbDv`4;&ye4`&Aw3Yw*0L))A04p#GrNc|pLH`<;8nJHU|*r#^e z4?i@C{e1%bABVet(e$qr!;P+nI?r~Fd%wj z72orqrCLQiPoD?Z#9hjC^2zlyO<3ZixG2mf_zL>Dalyg#0T>CU?bSj^LxAFNls` z*!RrS%qiZ8tQS7;6e5fJz-F06ARE|NDaA7_3do5?Wy_JD2sGVYRD5flz4xa2h(~ke zDXBnghuwS#^G=?ZPV)U5X$t_ni%%X|T%%YMze9Y-gN%j$m?-OOTG35`cjZef zMl?*ffPC{IX=m)2XStuNj|dlEB;aWTQd6*^SbZpWoK|{QleAL@>nJNOKn4^pGE=i_ zFn#L3YfrWWfI1gh{2^z;&j5A~%|gTrblBU*qb=#tR~(H9ibFN1 zgLi#2VWkpV0T+7J*MCffFm$%313yxa{Ris(J#AG$`TZ%7ZK*t>lc+vAroL;OTL2inZ?l88p+1}72dSp3`{SAXKt2L>l%ql82 z*LD>((%fo+ke6j9=qBw|@ZE{Qt+2>a7GN-3rI;9XGR?1+U1Ttc={>Iq+(8T?-o z1PT+nF>M9SjG-xkgc%MNNOa@Ft?}b2vw5z&D77P{T_DETHhEW`U}VGLk4v#VIB_?p z4!!Gi;PAuifH9)drmXSOEFa9os(|haT@3R<7=8IQnW?t|+4%+i0E47X51R^Hy0<-R zlHlO-5|TVh%8S`(1&*(l-Ddk9c*>|Uj4Z?MvmepVYx5LJyD%_|MF;+9Pd^G(pJip?IOW5FhsX~AfHgmLJDZ!<;uU^_?AKr~Dl_$)>n zZm!ZheXW%Bkwrl)uckz}!)WxdXhtGBN)|ib=MM(Vqyr8plno5?sVRv$j9!k-VFI&M zDbk@(f18zaLO@f@ubX4TgK)KtFTvXSwm>Z!UK&mkj+#C-4(HHc;NL<_n96TCMUkE9 z)fPG9MJQoX-k%nynm#(`<>I@MJ4IUu)Hpl;frJCKn3~JnLz+akx;tb_afT`VLb#^1 zRr$V8!Hw~3_Zm?|)&N=R0)}Zcb?-VlYC=wi+3b>ob5SDm#SsUG(%kF2%25wzSQ-6` z>uS9ZOGvL+L$#}^htRfjO$)$ll`nYVml`Rc>(`Ct!0xJYb0RNyg6=Uj$*+UQ#=J9o z_^pFJxAB(>YEEZg*zBRq@gGNU*9fXnQ&FeNDO+rrq#0k%GpPWLRL$QSy>WV@HAgF% z#ZipN6eE??WWLZLh%OZ$>Ha%6n_JFjFv0^7|jHH zfdurcYe~?a!stJ~9{8Sq{Qi;>5CFiZj$j#y{}cK5c~5kJ=OQKkF7mgRl{||7bL{g^ z@!$Iep5MPg@l1T3SJv;uKZWPNzjEUd?^#=8kgs<^G7iE z{|oT>wE?t00DgL0#9spbwJrb8piegvJRjes`2iH>@%DmWf_`_%{}uD;euD3sePY(% ziGubF^MUUg@^6^WMk@Z%p#BSd@9|xKma6^&?D?1$*$?j+0{7p+#C|nI z_zSe>vo};fpfMxp&xJmarQuRl@M zQ)cqKA>~J>k52r%clpaH{ttLh;pp=UGx-ni)<^a`yzl<-H*inU>G!4jzQ;VTd=mcv zXGHxwxZf4A|E9^GIbEb@P>-yj{X5j3<&A&Khv#KP{AZHuydr)f`N`S-y1@Fk7x=C# z!e{j}f*)XN>3;qKe-iGO#hG8=Jg*7;NN+-hpX2-=+5Q)-C%QeaE&RCt^^8Bq`ip44 zgZewwo{AOEk4{m3P~SZB-=Ln-uAi4K9#!^Ky7*4xpK<2z$_Mgc9`BChn?4N~w z&kxs#e)!zYzm)yNuivDKzgYO^=OaHZ#vSLc-r^66{qIoE^Wh)eOb*Ylp#Ean{|5I& xv*(Gxk2^T-W4QmrhV!)cf2_}UqWvE2Po{x9hKc|HIFJ9-p#cEm1fPEU{{Z`~(uM#4 diff --git a/package.json b/package.json index 002ed92..c00001c 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,11 @@ "seed:dev": "node --env-file=.env prisma/seed.js", "seed:prod": "node prisma/seed.js", "migrate:dev": "npx prisma migrate dev", - "migrate:deploy": "npx prisma migrate deploy" + "migrate:deploy": "npx prisma migrate deploy", + "setup:env": "node -e \"const fs = require('fs'); const secret = require('crypto').randomBytes(32).toString('hex'); const content = `PORT=8080\\nNODE_ENV=development\\nDATABASE_URL=postgresql://postgres:134@localhost:5432/idea_tracker\\nJWT_SECRET=${secret}\\nJWT_EXPIRES_IN=1h\\n`; if (!fs.existsSync('.env')) { fs.writeFileSync('.env', content); console.log('.env file created with a fresh JWT_SECRET.'); } else { console.log('.env already exists, skipping generation.'); }\"" }, "keywords": [], - "author": "", + "author": "Lew Price", "license": "ISC", "type": "module", "devDependencies": { diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..35fa3e759c1dbbf95cb89963d41acf7325bd9a32 GIT binary patch literal 10244 zcmeHMJCD;q5Z=AJB+liKQt;|niH71N5)Oe5nh=5zq9X_jKp~FJorU9#Z0Ax$kwOXo zfR2`m0uWR*yjm*$1OI~A#}PlnLqa;tY_$7r)-xN=_hlW;gb+g8W2;FBBZL^x1=crU z$Y|oa=&81%R~R4#e?lCxV@`sR>2fn=jSI*CGJp&q1IPd}a1a=P-)zy0nnE0r0b~Ff z_`!g9J}~G4TN>vI<)Z@znF0W=!Ln>Hhde;~FpVvZbA{3s_Egye)vi>h7*x5#btcRK zTN>vIl{=xzolyPBRA(quemeLuX-;TMA&$rZGLU9~!BUwF2qzwSkjUTPm?PH-!bamO zU0Gc#l`BTYs2TUVyL{3O`{6if_x(HK-A&G2bAR49Z#nj)S3i82dtu-4Y+pJ!mJKF% zZ#$mFCv86VtU&s9)diz!RD1Pf(`j?-{3biQJ=YF%r!U^d2 zf2^XQ`bj_zC8Bzg3~8_HdoK5OU|smsbhsh$A#4|3Hq3%Z;o=_-JSRAJr`a9w;Yd+c z@$+dI@=izBZ;UU;pIIM{e!jHK+WHOa(QfoEn7Emo`%Or;PKNN^wBRMgnvgySW*0-S z%+TU;tU=G+U&!_=_HpT$kS=%cgnVU?i<2=3R~X4+A;o1XnLthK zdQ_V0uOGersH92QEab?u$&etnM}l?(PK)>j+Jmz)C=T_hu;TPr-U0n7o2UdYUVbX+ z2U>>RLWX5_8B(P7O2{Ej3^rr{89)Y*0c4=K46Lfqn5h3>$^ZYqxCCHi$N(|`HS|um z(*`2;D{4tjM6I1czYkqBVK-MOU0{&qctBZ>hc}`ee+s&=mGuKXZ)uz>lzXGTL literal 0 HcmV?d00001