From 53e88aea4b91ae6fe4e203fcbbf8bcb5d291da75 Mon Sep 17 00:00:00 2001 From: Dereje Getahun Date: Wed, 15 Jul 2026 14:52:41 +0300 Subject: [PATCH 1/4] Rebrand public app as Pinboard --- README.md | 6 +++--- client/index.html | 8 ++++++-- client/public/favicon.ico | Bin 7096 -> 0 bytes client/public/favicon.svg | 8 ++++++++ client/src/components/cover/cover.tsx | 8 ++++---- client/src/components/menu/menu.tsx | 4 ++-- .../cover/__snapshots__/cover.test.tsx.snap | 8 ++++---- .../menu/__snapshots__/menu.test.tsx.snap | 4 ++-- 8 files changed, 29 insertions(+), 17 deletions(-) delete mode 100644 client/public/favicon.ico create mode 100644 client/public/favicon.svg diff --git a/README.md b/README.md index eb5a9dae..86494c4f 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# Pinterest-Clone +# Pinboard [![codecov](https://codecov.io/gh/Dereje1/Pinterest-Clone/branch/master/graph/badge.svg?token=k3bnvXaDh3)](https://codecov.io/gh/Dereje1/Pinterest-Clone) -### A clone of the Pinterest application for educational purposes +### An educational Pinterest-inspired full-stack application built as a learning project -Explore the live application: [Pinterest-Clone](https://pclone.derejegetahun.com/) +Explore the live application: [Pinboard](https://pclone.derejegetahun.com/) Use the app to generate images using a web link, upload your own images, or use OpenAI image generation. diff --git a/client/index.html b/client/index.html index eeb0cdc4..8426d44e 100644 --- a/client/index.html +++ b/client/index.html @@ -2,11 +2,15 @@ - + - Pinterest Clone + + + + + Pinboard
diff --git a/client/public/favicon.ico b/client/public/favicon.ico deleted file mode 100644 index 4aeed3847bf61d96e8a23c9fb67eb91f0940f074..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7096 zcmZ{oWmH_t5~v3VKDfKPyA6X|f;+)|aCdhNZb5^)YjB4Ihae%iCpaOvJaSInJ!jo_ zU+>kstE=j(YWuN!M=2}Hpdb+<0RR9LIax{7mzMi?MSy#G4|x(D0sue}D+vi@ISC1J zWoHKqD_e5_KsG8>3tn686K<|}fZ{+qK(nm;D~g$%p;%k6hPlP@>z^ zGSr{Nc%Vjc_F_yWUU z18`VK4f|mMQ9=Cg=r;GneenUENlcjgFrq16CrbBY%tQrOj42xd_V-Lh`R7*C)oT zykz^73Y@_EmdRiw!*JgBFn+@>*n5S@=_ww$a``3(bzdBn2o@Wet!8CGHLe^ z%`{F29SwXD$7egZbzziZvaeCGNiqpAqr4(<>aA)XL>7tjclUSn&I&{|d^TEu)m z)h+eyFNc>pGwD-#6h1OAnz@h??S#blQ%3!4(0P5h&LlD%**V!cPzip9*tNBbuD2dA z`GyY`y05O=Y8@RN>%M2PY*7Is6gIC;A1oT}BWe+Ea=|^(OgMP-wrxk^fewf$ZF84F z9PIGCj^N2&lAAyPI62L~UvUIVnzb z3Q8#ps+a`TBH-6ZTZxK9!^FZ-h8^hH@D=Iy1cM!%3ydLU9(8yg@#^WBGP=)_RMVcW zoS8w2638=@t^)0()#BF$ZU+pPn9D)#1yeInK%)wL60RX)cBR-bDN_b*LE7Ox6B=y+ z&9HfscV_~I1A_J7BN)X&D}ES{Kqh{mQt!tbZeP}J;Ckfg@ZlNm1L0cO^|m3RdN4&_ z?uLR97A-m_!W`mIsB^z!KSn=6Te>%bLzE}`?BEZnTYETXDVdBmlGl*W+ckPeL`jg(YbgL1K+dHiRmRQFUm z#=Ox?vo{TV0-57fQ`EKOr{sJ|wFy3>dGv3wZKBy|a+9QVM0J$Pi?j1r3OhA5G~%V^c{aSda`7HT5B3@)?r#Cj-9ZN zxR0#fRq{CU3gh%r`UmX6`LEZPSBGu~eqSsP;14YiYiDa0dmI9ZmIz|`GVJTVZp4bM z%jP74sXkJ@ktQYf8bRl2;)>Gt8fT$K6Y zb&E`e)Co7;g6dMcmSfs)mF{IZS^6dVVXHVkU)EL)jCwwG+hH50EYfe5RjBZhd?C(2 zg+=8-)sJ%>ksS$(`xVC~tsARI&}Du3amFxbCEGdMoqv_2P?*+tyr1Kpse!;Z0hb)6 z?Ai`xeQ~|LkKApYuFW319ro^ByV5R1`z=e=UyoxtB08437P=M(`l;p%XSYjA<1AzM zIj4Rays8zg^)gT}AnRQ1`q_o%{k*%qk$l`Zvj1KCu>PT5XxRNe^VZq7_1684<3aVY z<<9Lc>(1q&@_`I41O5!!9S&r?%-NXX^PUYl2YM(-270}|Q^!S{E~M_m^oOJm3r5Eq zp&Re|(8R~ZImNBT?<7{mEyHqwRH0I#)kqzmcuics&L2HF#-9mnvS3(aIAIV`kxDO1 zMN<)txJeiMBjZ#ptK87GV<6O%>Q zN_S%CYxEF((}Bo~I2*br`EF1yYCh^TDLCnKk|14dF1uxau~~?jn6m^D0}Y3{<>%hP zjVK$sD|zQEb@=32>&pq%1k})qF;$aQuZ#TmBwZ@_VXTgtJ~#QZ z#&pEpXXEwi4jk^@UyR)-&HBxa&E{F$SX50OOk7SePaR>^y&{5TYwT}mG3y$On_Np3 z&PYya6w#vL?64N$XrYL7%>(8i8?vZ+nz3 zb9=l~TzOjDwU+(|539)Z$PIW8-P2aaU;FuDl5lx&32-LZempT;mS&p#GI2Ve7y`$% zGWVq;q&2a+>9iYvU&J){G^AQOdoepT);7la1lrsGC4$DPWVqJe?>DrUI+)s@%BOi- zyR2WLp{c#l<-PKwohO!u#%8T5r~OL&qs?uaTZ-GPTh1ZXBA;#DQl0a_{=4@?LX6N% zS6YOctku4)QLW{EF1>rpEYiBKTYXm;m%MFs4_ew8D=RLJ2ajRDk)6t}IGx~48CG}@ z9x<=pnx{Kz?Vl{Ivdojt&-(zctIEV|ig>zw=#IPE*&v1z)e^@okC%_d@V!vqgDiVW zp1ik>2K)9TawDwKbV+MK;zFvb5nm>%4r`~XPHkoFAwq=yO&@1U&qp2NdXB9*?JD?7 zd~AoDKA#tChtMG@0kg4lj)YR3DmuKZf3D79DH=Kutj~JWZjIkIQdlbGndS;PtzG-h z!JZ<^uz4F)_3ZeUpEP{irRwQ;^e>w4YCee`Ne!Ya*7sw=*8;&R9<_dR4u|}xYWu2 zpw(-beouFK-HF{p?Av_Q{B)@AptsJAHV6cHX5C-SbtGNioq7bEJvg42&W_OKl?2fG z89WbNz1d!jti6VFfrpnO=8$<}3KWx?n}hOfMg~}O0=PZFh4Sjz&pW~NlU2^Ip0G5t zF?P35MOkdkdd{no0mOmUJY>!isgM05@PIEv=GqaH))y|t@{wo6b@N)`f|s=V@FI~f z%c#F5(jq$i1Igd^85Wg54I5dvWU zk^z9%P(=TcRiWtr_&@^y5mta#e|+A)w7*NjOMRjLv@l8G0Qi?4=1UFz0R10t?hi2k z$S*d4n3{x~+)Jxw>TGUq?*egfWru6}{Gvc~l+|$o0B~u3S137E>N5ZUdcjIv+f`dZ zUeMIRj@8)A!Ni=^)6VgC9015u@I|yUcQq#Ww6nE$5%d(M{L4e|MgFa3qa^>!#nncb zQd>cpT*ATGoSc`Hot2#uj6_aO4stfL5LA_v{)4~tgef7eu8x9iY#tsStR7sf4$hWr z90CFYZ0wwDoSZB#9xN_i_O8aBEcPx`e+T)$aU{)MOr5P9U9BAK$$!T+HgRxs6{e*8 zo#;R1?{S)YTK$vB-sR7Fvp(^|JMES2eJL$`G1{+zmM5p+Lv<%Mgp<@=gfkUV&rF90087HIY}{f z2y8O}qPn_F!wmv(fSsL~5(&XGr~uByM7hvu(QLl%JX(i)248QBkVj>Pc#pTE3J#6C zKpLfHINeNm8##*B1hgGyDJjYg%}7a)%0A8x1qsjRH5 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 + + + + + + + diff --git a/client/src/components/cover/cover.tsx b/client/src/components/cover/cover.tsx index 7325e992..3879c975 100644 --- a/client/src/components/cover/cover.tsx +++ b/client/src/components/cover/cover.tsx @@ -7,10 +7,10 @@ function Cover() {
-