دیروز برام ایمیل اومد که دامنهٔ expedition-diaries داره منقضی میشه.

چند سال پیش چالشی برای خودم تعریف کردم که پروژه‌ای رو شروع کنم و همهٔ بخش‌های مختلفش مثل بکند و فرانت‌اند و زیرساخت رو خودم پیش ببرم. قبلاً در هر کدوم از این بخش‌ها تجربه‌های مستقلی داشتم اما هرگز فرصت توسعهٔ همهٔ این بخش‌ها در کنار هم و با هم رو نداشتم. از طرفی هم برای هر کدوم از این بخش‌ها اهداف متفاوتی داشتم:

  • بکند Go: کتابخانه‌ها و ساختارهای مختلف رو امتحان کنم.
  • فرانت‌اند vue js: دانشم رو refresh کنم. دوست داشتم react رو هم یک امتحانی بکنم.
  • زیرساخت: در این زمینه خیلی کم‌تجربه‌تر بودم و موارد زیادی بود که می‌خواستم یاد بگیرم.

چیزی که برام مهم بود این بود که پروژه‌ای بزنم که هم خودم و هم بقیه بتونن ازش استفاده کنن و فقط توی گیت‌هاب خاک نخوره.

من به سفرها و سفرنامه‌های قدیمی خیلی علاقه دارم. برام جذابه که بدونم قبل من چه افرادی از چه شهرها و کشورهایی گذشتن، چه چیزهایی مشاهده کردن و توی سرشون چی گذشته. اما پیدا کردن این اطلاعات خیلی آسون نیست. هم اطلاعات مربوط به سفرنامه‌ها خیلی پراکنده است و هم منطبق کردن لوکیشن‌های گذشته به شهرها و کشورهای کنونی آسون نیست.
این شد که ایدهٔ پروژهٔ Expedition Diaries رو شروع کردم. هدف این بود که اطلاعات دسته‌بندی شدهٔ سفرنامه‌های قدیمی مثل مسافرها، بازه زمانی سفر، و مهم‌تر از اون کشورهایی که در این سفر ازش عبور کردن رو پیدا و ذخیره کنم. در نهایت هم نقشه‌ای از جهان داشته باشم که با کلیک بر روی هر کشوری، سفرنامه‌های مربوط به اون جغرافیا رو لیست کنم.

طی مسیر از این پروژه خیلی لذت بردم. آخر هفته‌ها با ذوق زیادی قسمت‌های مختلفش رو پیش می‌بردم تا در نهایت به خروجی قابل انتشاری تبدیل شد که می‌تونید اینجا ببینید:
https://expedition-diaries.com/

چیا باهاش یاد گرفتم؟

  • پس از مدت‌ها کد فرانت‌اند زدم. فهمیدم هنوز می‌تونم یک وبسایتی رو، هرچند با کیفیت نه چندان بالا پیاده‌سازی کنم.
  • یک پروژه go رو از اول نوشتم و آزمون و خطاهای زیادی در مورد کتابخانه‌ها و ساختارهای مختلف انجام دادم.
  • بیشتر و نزدیک‌تر درگیر زیرساخت و قسمت‌های مختلف مثل Nginx و CDN شدم. با Github Action برای اولین بار کار کردم.

سرانجام چی شد؟
این پروژه برای من دوتا خروجی داشت. یکی تجربه‌ای که کسب کردم که بعدها هم در کارم و مصاحبه‌ها خیلی ازش استفاده کردم، دومی هم خود پروژه بود. در ابتدا هدفم این بود که دیتابیس سفرنامه‌ها رو هی کامل‌تر کنم تا زمانی که به مرجع خوبی تبدیل بشه. در نهایت هم از سمت Google ورودی داشته باشم. اما مدتی بعد از این که منتشرش کردم، chatgpt همه‌گیر شد و عملاً LLMها نیازی که داشتم و هدفی که پروژه از اول داشت رو به خوبی پوشش می‌دادن. حسم این بود بقیه هم شبیه من فکر می‌کنن. برای همین با توجه به میزان زمانی که نیاز بود براش بذارم، تصمیم گرفتم ادامه‌اش ندم.

بخوام برگردم به جمله اول نوشته، احتمالاً دامنه رو تمدید نمی‌کنم و مثل خیلی از پروژه‌های دیگه تنها از طریق archive.org قابل دسترس خواهد بود. ولی اگر شما انگیزه‌ای دارید و یا پتانسیلی در مورد ایده می‌بینید پیام بدید در موردش صحبت کنیم :)


این نوشته رو اول در کانال تلگرام منتشر کردم. اگر دوست دارید نوشته‌های بعدی رو زودتر بخونید، پیشنهاد می‌کنم عضو کانال بشید.