feat: initial commit — storefront, convex backend, and shared packages

Completes the first milestone of The Pet Loft ecommerce platform:
- apps/storefront: full customer-facing Next.js app with HeroUI (cart,
  checkout, orders, wishlist, product detail, shop, search, auth)
- convex/: serverless backend with schema, queries, mutations, actions,
  HTTP routes, Stripe/Shippo integrations, and co-located tests
- packages/types, packages/utils, packages/convex: shared workspace packages

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-04 09:31:18 +03:00
commit cc15338ad9
361 changed files with 45005 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
id="Layer_1"
x="0px"
y="0px"
width="119.14328"
viewBox="0 0 119.14328 131.41817"
enable-background="new 0 0 672 672"
xml:space="preserve"
height="131.41817"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs9" />
<g
id="g10"
transform="matrix(0.30533736,0,0,0.30533736,-39.259692,-39.009023)"><path
fill="#000000"
opacity="1"
stroke="none"
d="m 298,127.83081 c 45.98755,0.0183 91.47513,0.0419 136.96268,0.0485 10.00793,10e-4 17.77722,3.84984 22.41003,13.01848 0.81397,1.61088 1.39908,3.39775 1.74307,5.17064 0.44245,2.2805 1.04425,4.70779 0.69916,6.93582 -3.41745,22.06328 7.39343,39.92412 16.81107,58.26765 7.75509,15.1052 15.08471,30.42861 22.81833,45.54511 7.07074,13.8208 5.74768,28.88009 6.66247,43.55893 1.88382,30.22836 3.32584,60.48422 4.94544,90.72903 0.66738,12.46289 1.2362,24.93179 2.00286,37.38855 1.89057,30.71942 4.17298,61.41837 5.68995,92.15561 0.80346,16.28088 -12.22415,37.4942 -34.20188,37.49664 -55.65133,0.006 -111.30267,0.022 -166.95401,0.0104 -50.65249,-0.0106 -101.30513,-0.12854 -151.95744,-0.0434 -20.69795,0.0348 -32.42798,-12.84533 -36.36882,-29.92126 -1.81802,-7.87762 0.53474,-15.91467 0.74936,-23.89053 0.27286,-10.13959 1.11081,-20.26398 1.70855,-30.39472 1.96015,-33.22134 3.99811,-66.43829 5.85563,-99.66537 1.19876,-21.44351 2.10073,-42.90345 3.19978,-64.35273 0.63885,-12.46792 1.00458,-24.96899 2.23592,-37.38147 1.03665,-10.45013 6.40795,-19.53123 11.07371,-28.73317 10.38435,-20.48028 20.70203,-40.98909 30.3252,-61.84585 2.88578,-6.25449 1.54374,-12.76656 2.19661,-19.14735 0.37132,-3.62906 0.0804,-7.3247 0.10928,-10.99019 0.11186,-14.17713 8.9711,-23.45314 23.31117,-23.85402 11.32176,-0.31649 22.65839,-0.11603 33.9884,-0.1201 17.82784,-0.006 35.65566,0.008 53.98348,0.0147 m 201.87561,327.58444 c 0.44351,-4.41314 -1.66129,-8.50015 -1.7175,-12.82135 -0.37921,-29.14251 -2.5964,-58.1907 -4.26492,-87.26971 -1.3064,-22.76761 -2.08621,-45.565 -3.24628,-68.34171 -0.49213,-9.66168 -1.56634,-19.19403 -6.10159,-28.07705 -10.22009,-20.01769 -20.1658,-40.17527 -30.28909,-60.24266 -4.35279,-8.62859 -9.18827,-17.07457 -9.36319,-27.12148 -0.10151,-5.83023 -0.11442,-11.66264 -0.10828,-17.494 0.01,-9.27091 -1.76322,-11.07251 -11.06366,-11.07343 -38.98434,-0.004 -77.96872,-0.0121 -116.95306,-0.004 -34.98853,0.007 -69.97713,-6.1e-4 -104.96552,0.077 -8.40929,0.0186 -10.43547,2.5921 -9.94975,11.00359 0.3163,5.47782 0.27418,10.99671 0.0247,16.48048 -0.20267,4.455 0.50554,8.63795 2.42395,12.59845 7.40423,15.28586 14.93388,30.51124 22.28538,45.82228 6.68988,13.93314 15.44614,27.12241 18.25275,42.55817 2.85971,15.72787 2.25554,31.83285 3.2753,47.76434 1.32918,20.76538 2.13981,41.56351 3.2731,62.3421 1.53206,28.09006 3.16328,56.17465 4.74289,84.26209 0.82223,14.62079 1.41241,29.25857 2.50604,43.85882 0.82578,11.02436 1.88736,21.94818 -4.21225,32.01215 -0.0928,0.15308 0.2256,0.55542 0.51846,1.21771 15.98066,0 32.11805,-0.0209 48.25534,0.004 60.30384,0.0922 120.60767,0.20411 180.9115,0.29694 11.4712,0.0176 19.82953,-8.91547 19.16703,-20.16626 -0.66437,-11.2829 -1.07843,-22.58035 -1.64051,-33.86948 -0.5462,-10.97021 -1.1409,-21.93798 -1.76083,-33.81671 M 243.8648,522.35754 c -0.17048,-21.64813 -2.17367,-43.20419 -3.30675,-64.80337 -1.7348,-33.06971 -3.81713,-66.1211 -5.58953,-99.18894 -1.25617,-23.43658 -2.06366,-46.89822 -3.45417,-70.32596 -0.45894,-7.73245 -0.45758,-15.56302 -3.70761,-23.02679 -9.17917,-21.08026 -20.19385,-41.24988 -30.21979,-61.90732 -0.74652,-1.53815 -1.32417,-3.81802 -3.65615,-3.54707 -2.09015,0.24287 -2.60357,2.38209 -3.41611,3.97474 -8.92136,17.48655 -17.78627,35.00191 -26.7312,52.47638 -4.16336,8.1334 -6.38132,16.65308 -6.7535,25.84668 -0.80096,19.78614 -2.01562,39.55567 -3.07982,59.331 -1.55587,28.91214 -3.04525,57.82821 -4.7241,86.73327 -1.04166,17.93454 -2.6668,35.83857 -3.49489,53.78101 -0.63666,13.79489 -1.60983,27.56485 -2.2953,41.34857 -0.50154,10.08484 10.5307,20.93701 19.97004,20.45435 20.30732,-1.03827 40.62699,-0.16352 60.93847,-0.5683 12.16493,-0.24237 19.3961,-7.30432 19.52041,-20.57825 z"
id="path1-1" /><path
fill="#000000"
opacity="1"
stroke="none"
d="m 325.99969,374.19998 c 2.16602,-3.22934 4.4094,-5.86008 7.31519,-7.92538 4.9744,-3.53559 8.71939,-8.06601 11.33481,-13.64914 9.53238,-20.34864 35.17157,-22.25653 46.96396,-3.31098 4.7933,7.7009 10.23361,14.52774 17.02774,20.60163 6.74121,6.02658 9.32175,14.22699 6.93854,23.18826 -2.68427,10.09341 -9.19257,16.89609 -19.51566,19.31735 -5.17328,1.21335 -10.45898,0.0215 -14.99838,-2.44739 -8.22357,-4.47259 -15.86014,-4.06234 -24.14289,0.0802 -16.64517,8.32493 -32.89895,-4.68133 -35.04095,-20.30734 -0.75125,-5.48041 1.6308,-10.40359 4.11764,-15.54718 z"
id="path2-2" /><path
fill="#000000"
opacity="1"
stroke="none"
d="m 282.99988,171.77496 c 40.31048,0.0262 80.12097,0.0436 119.93136,0.10521 2.48578,0.004 5.05292,0.0274 7.43702,0.62291 3.43005,0.85681 5.4923,3.57572 5.30981,6.96932 -0.19165,3.56363 -2.2984,6.25589 -6.25684,6.66163 -1.81662,0.18622 -3.66003,0.14875 -5.4913,0.14913 -54.13611,0.0113 -108.27222,0.0186 -162.40834,0.0147 -7.68434,-5.5e-4 -11.50755,-2.55257 -11.33183,-7.47739 0.16832,-4.71748 3.72238,-6.964 11.33362,-6.9931 13.65869,-0.0522 27.31762,-0.0378 41.4765,-0.0524 z"
id="path3-7" /><path
fill="#000000"
opacity="1"
stroke="none"
d="m 362.32965,312.89392 c 0.54916,3.22055 0.59515,6.00754 -0.081,8.81131 -1.29111,5.35373 -5.75302,9.72864 -10.78815,10.48151 -5.49243,0.82129 -11.08313,-1.90702 -13.6871,-7.08506 -2.77466,-5.51742 -3.59699,-11.36715 -1.75244,-17.39697 1.65243,-5.40192 5.16448,-9.05142 10.8493,-9.677 5.42755,-0.59729 9.62659,1.9328 12.47339,6.60938 1.47745,2.42712 2.74478,4.93707 2.98599,8.25683 z"
id="path4-0" /><path
fill="#000000"
opacity="1"
stroke="none"
d="m 401.5097,306.84048 c 2.59714,6.87482 2.0954,13.08915 -1.73895,18.95716 -3.45556,5.28839 -8.41028,7.57922 -13.49432,6.25689 -6.89643,-1.79376 -10.22177,-5.70883 -10.5546,-12.70809 -0.19696,-4.14124 -0.38888,-8.23945 1.49567,-12.23978 2.56473,-5.44422 6.38409,-8.91452 12.5347,-9.19989 6.10403,-0.28324 9.34814,3.52276 11.7575,8.93371 z"
id="path5-9" /><path
fill="#000000"
opacity="1"
stroke="none"
d="m 321.5708,328.86133 c 7.47806,1.96579 10.56815,7.1958 11.64209,13.88672 0.85287,5.31366 -0.61307,9.87341 -5.16693,13.18866 -2.91248,2.12033 -5.93445,2.63183 -9.42035,1.53741 -9.26938,-2.91019 -13.84183,-16.62598 -8.05579,-24.45972 2.65323,-3.59222 6.32212,-4.65887 11.00098,-4.15307 z"
id="path6-3" /><path
fill="#000000"
opacity="1"
stroke="none"
d="m 427.71466,349.41199 c -5.7294,9.51263 -14.25357,11.48297 -19.86313,4.71621 -3.84915,-4.64322 -4.07672,-10.10699 -1.94745,-15.49707 2.06082,-5.21676 5.83405,-8.87924 11.62891,-9.74945 5.47153,-0.82159 9.74487,2.10593 11.22153,7.51212 1.17712,4.30948 0.72571,8.54132 -1.03986,13.01819 z"
id="path7-6" /><path
fill="#000000"
opacity="1"
stroke="none"
d="m 201.31534,396.99963 c 0.0118,33.82151 0.0191,67.1431 0.0202,100.46466 4e-5,1.33216 -0.0188,2.6666 -0.0969,3.99601 -0.2249,3.82892 -2.16414,6.30447 -6.00829,6.83383 -3.92772,0.54083 -6.35605,-1.72315 -7.57536,-5.12689 -0.65294,-1.82273 -0.74137,-3.9198 -0.74286,-5.89331 -0.0489,-64.81064 -0.0614,-129.62128 -0.0551,-194.43195 3.2e-4,-3.31625 -0.36163,-6.68555 0.79697,-9.90906 1.14177,-3.17676 3.14969,-5.95028 6.65118,-5.87408 3.74747,0.0815 5.77998,2.99576 6.56293,6.5177 0.35626,1.6026 0.37503,3.30243 0.37688,4.95837 0.0366,32.65491 0.0481,65.30982 0.0703,98.46472 z"
id="path8-0" /></g></svg>

After

Width:  |  Height:  |  Size: 7.6 KiB