FamaLing.irفامالینگ
A Persian-first English-learning platform connecting placement, free practice, service choices and classroom operations, with an A1 pilot and a published A1–C2 roadmap.پلتفرم فارسی آموزش انگلیسی؛ از تعیین سطح و تمرین رایگان تا انتخاب نوع همراهی و مدیریت کلاس، با مسیر پایلوت A1 و نقشه راه منتشرشده A1 تا C2.
- Yearسال
- 20262026
- Roleنقش
- Product / Business / Full-stackمحصول / کسبوکار / توسعه فولاستک
- Scopeمحدوده
- Next.js · Learning · LiveKitNext.js · آموزش · LiveKit
- Statusوضعیت
- Liveآنلاین
The project, in contextپروژه از نزدیک
I built FamaLing to connect placement, practical free lessons, a visible CEFR roadmap, class requests, and academy operations. Its Persian-first journey keeps human review central to writing and speaking, and clearly distinguishes the published learning map from lessons and stages already prepared for the pilot.فامالینگ را برای اتصال مراحل یادگیری ساختم: از اولین بازدید تا تعیین سطح، تمرین، درخواست کلاس و ارتباط با مدرس. مسیر فارسی و مناسب گوشی است؛ نوشتن و گفتار با بررسی انسانی ادامه پیدا میکنند و نقشه A1 تا C2 به زبانآموز نشان میدهد چه چیزی در انتظار اوست. نقشه آموزشی با محتوای اجرایی آماده، مرز روشن دارد.
Make the next step visibleقدم بعدی باید معلوم باشد
For a learner, choosing a class is often less clear than buying a product. A level name does not explain what they can do, which skills need attention, or whether the teaching style suits them. An academy website therefore needs to help someone begin, not simply present packages and ask for payment.
انتخاب کلاس زبان برای خیلیها با چند سؤال همراه است: از کجا شروع کنم، واقعاً چه سطحی دارم و این روش آموزش به من میخورد؟ نام یک سطح یا فهرست بستهها، پاسخ کافی نیست. سایت آکادمی باید قبل از درخواست همکاری، نمونه تجربه آموزشی و قدم بعدی را روشن کند؛ زبانآموز بتواند چیزی را امتحان کند و بداند انتخابش بر چه اساسی انجام میشود.
Behind that first step sits an operational system: requests, teacher review, scheduling, lessons, assignments, and support. The design needed to connect these parts without suggesting that every planned CEFR lesson was already complete or that a score could replace a teacher's judgement.
پشت این شروع ساده، کارهای زیادی قرار دارند: بررسی تعیین سطح، دریافت درخواست، انتخاب مدرس، زمان کلاس، تکلیف و پاسخگویی. این بخشها باید به هم متصل باشند، اما سایت هم نباید نقشه آینده را محتوای کامل آماده نشان دهد یا یک نتیجه اولیه را جای نظر مدرس بگذارد. مهم بود محصول هم برای شروع یادگیری صمیمی باشد و هم در بیان محدوده فعلی دقیق بماند.
From trying to learningاز امتحانکردن تا یادگیری
The public journey offers practical free exercises, placement, curriculum exploration, and a staged class request. The CEFR map uses concrete can-do goals and final tasks so that a level describes an ability, not just a label. Writing and speaking samples continue into human review.
مسیر عمومی از تمرین رایگان، تعیین سطح، دیدن نقشه آموزشی و درخواست مرحلهای کلاس تشکیل شده است. در نقشه CEFR، هر سطح با تواناییهای قابل استفاده و مأموریت پایانی توضیح داده میشود؛ زبانآموز میبیند قرار است چه کاری را به انگلیسی انجام دهد. نمونه نوشتن و گفتار نیز برای بررسی مدرس میروند تا انتخاب نقطه شروع به پاسخ چند سؤال تستی محدود نماند.
Next.js presents the public experience, while PostgreSQL-backed models connect accounts, attempts, courses, meetings, submissions, and support. Staff screens cover the academy's day-to-day work. The current A1 structure includes five ten-session stages; the later levels remain a published roadmap whose operational staging is refined through the pilot.
رابط عمومی با Next.js ساخته شده و اطلاعات کاربر، تعیین سطح، دوره، جلسه، تکلیف و پشتیبانی در مدلهای PostgreSQL به هم متصلاند. پنل تیم هم کار روزانه آکادمی را دنبال میکند. در ساختار فعلی، A1 پنج مرحله دهجلسهای دارد؛ سطحهای بعدی نقشه منتشرشدهاند و جزئیات اجرایی آنها در ادامه پایلوت تکمیل میشود. این تفاوت در معرفی محصول حفظ شده است.
What I builtآنچه طراحی و پیادهسازی کردم
The parts that make this project useful in day-to-day work.بخشهایی که این پروژه را در استفاده روزمره کاربردی میکنند.
Placement across skillsتعیین سطح چندمهارتی
Placement covers grammar, vocabulary, reading, listening, writing, and speaking. Objective tasks provide an initial result, while a teacher reviews the expressive skills. The interface frames the process as finding a suitable starting point rather than passing or failing an exam.
تعیین سطح، گرامر و واژگان را در کنار خواندن، شنیدن، نوشتن و گفتار میبیند. بخشهای قابل سنجش، نتیجه اولیه میدهند و مهارتهای بیانی با بررسی مدرس ادامه پیدا میکنند. متن و ترتیب فرم، فشار امتحان را کم میکند: هدف قبول یا رد کردن نیست، پیدا کردن نقطه شروع مناسب است. زبانآموز پیش از ورود میداند چرا این اطلاعات پرسیده میشوند.
A roadmap you can understandنقشه آموزشی قابل فهم
The A1–C2 curriculum describes practical goals, language topics, vocabulary, and final tasks. It distinguishes levels, stages, and sessions, including the current five-stage A1 structure. A roadmap entry is not presented as proof that every lesson has already been produced.
نقشه A1 تا C2 برای هر سطح، هدف کاربردی، موضوع زبان، واژگان و تمرین پایانی دارد. تفاوت سطح، مرحله و جلسه توضیح داده میشود تا عددها برداشت اشتباه نسازند. در A1، پنج مرحله اجراییِ دهجلسهای تعریف شده است. موضوعهای سطحهای بعدی مسیر آموزش را نشان میدهند و به معنی آمادهبودن تمام درسها نیستند؛ این شفافیت بخشی از تجربه اعتماد به محصول است.
Free practice with an outputتمرین رایگان با خروجی مشخص
The free-learning section offers short speaking, listening, and everyday-English starters. A learner can introduce themselves, listen with a specific purpose, or practice a simple conversation before registering for a class. The content points toward an action rather than only explaining a rule.
بخش یادگیری رایگان با تمرینهای کوتاه شروع میشود: معرفی خود، شنیدن با هدف مشخص یا ادامه یک گفتوگوی روزمره. مخاطب میتواند بدون خرید دوره، حالوهوای آموزش را امتحان کند. هر تمرین به کاری قابل انجام ختم میشود؛ گفتن، نوشتن یا دقیقتر شنیدن. این مسیر کمک میکند تصمیم برای کلاس، بعد از تجربه بخشی از روش آموزش گرفته شود.
A request that gathers the right detailsدرخواست کلاس با جزئیات لازم
The staged request captures private or semi-private format and online or in-person preferences. In-person requests are limited to Karaj, with a preferred area and final academy confirmation. The request is a starting point for coordination, not an automatic promise of a confirmed class.
درخواست کلاس، انتخاب خصوصی یا نیمهخصوصی و آنلاین یا حضوری را مرحلهبهمرحله دریافت میکند. برای کلاس حضوری، محدوده کرج و منطقه ترجیحی مطرح میشود و هماهنگی نهایی با مدیریت است. ثبت درخواست با قطعیشدن کلاس یکی نشان داده نمیشود. فرم، اطلاعات لازم برای گفتگو را جمع میکند تا تیم و زبانآموز از همان ابتدا درباره یک نیاز مشخص صحبت کنند.
Classroom, assignments, feedbackکلاس، تکلیف و بازخورد
The implementation includes a LiveKit classroom with server-issued short-lived access, meeting records, attendance, assignments, and teacher feedback. Recording is off by default. These capabilities connect the lesson to its follow-up, while external media services require valid deployment configuration.
کلاس زنده اختصاصی با LiveKit، دسترسی کوتاهعمر سمت سرور، اطلاعات جلسه و حضور و غیاب در ساختار پروژه قرار دارد. تکلیف و بازخورد هم به رابطه زبانآموز و مدرس متصلاند تا یادگیری با پایان تماس قطع نشود. ضبط بهصورت پیشفرض خاموش است و سرویس رسانه به تنظیمات معتبر محیط اجرا نیاز دارد. این امکانات، هسته فنی کلاس و پیگیری بعد از آن را میسازند.
A working academy dashboardپنل برای کار واقعی آکادمی
Role-specific dashboards serve learners, teachers, educational management, and ownership. Administration includes today's classes, placement attempts, CRM activities, conversations, and accounting entries. This gives requests and learning records an operational home instead of leaving them in informal messages.
زبانآموز، مدرس، مدیر آموزشی و مالک، محیط متناسب با مسئولیت خود دارند. پنل مدیریت، کلاسهای امروز، نتیجههای تعیین سطح، فعالیتهای ارتباط با مشتری، گفتگوها و ثبتهای حسابداری را کنار هم قرار میدهد. درخواست و سابقه آموزشی، جای مشخص پیدا میکنند و رسیدگی به آنها وابسته به حافظه تیم یا پیامهای پراکنده نمیماند.
Built for reading and returningخواندن راحت و بازگشت ساده
Persian RTL layouts, phone-focused forms, light and dark themes, and PWA foundations support everyday use. Metadata, breadcrumbs, sitemap, robots, and llms.txt describe the public learning pages. Account and classroom content remain separate from the material meant for public discovery.
راستچین فارسی، فرم مناسب گوشی، تم روشن و تیره و زیرساخت وباپ، استفاده روزمره را سادهتر میکنند. صفحههای عمومی با عنوان و توضیح مشخص، مسیر راهنما، نقشه سایت و قواعد خزیدن معرفی میشوند. فایل llms.txt نیز خلاصهای از محتوای عمومی میدهد. حساب و کلاس شخصی از مطالبی که برای دیدهشدن در جستوجو آماده شدهاند جدا میمانند.
A closer lookنگاهی به بخشهای پروژه
Open any image to inspect the interface. Captures link back to the public page they show.هر تصویر را باز کنید و جزئیات رابط را ببینید. کپچرها به همان صفحه عمومی پروژه لینک دارند.
No captures in this view yet. Choose all views.برای این نمایش کپچری ثبت نشده؛ همه تصاویر را ببینید.
From structure to releaseمسیر طراحی و اجرا
Start with the learner's questionشروع از سؤال زبانآموز
The public pages answer where to start, what a level means, and how the teaching style can be tried before a class request.
صفحات عمومی به سؤالهای شروع پاسخ میدهند: کجا هستم، این سطح چه معنی دارد و روش آموزش را چطور امتحان کنم؟ تمرین رایگان و تعیین سطح، پیش از تصمیم برای کلاس در مسیر قرار گرفتند.
Keep teaching and operation connectedاتصال آموزش و عملیات
Placement, requests, meetings, submissions, and support have linked records, allowing the academy to continue the learner's context.
تعیین سطح، درخواست، جلسه، تکلیف و پشتیبانی رکوردهای مرتبط دارند. زمینه زبانآموز در ادامه همکاری قابل پیگیری میماند و هر مرحله از صفر و بدون سابقه شروع نمیشود.
Publish scope honestlyمعرفی دقیق محدوده آماده
The product distinguishes a complete learning roadmap from produced lessons and currently operational stage structures.
نقشه کامل مسیر با درس تولیدشده و مرحله اجرایی یکسان معرفی نشده است. محتوا و ساختار پایلوت، پایه ادامه توسعهاند و سایت باید این تفاوت را به زبان ساده بیان کند.
Delivery and current scopeخروجی و وضعیت پروژه
- Persian public learning website with placement, free practice, and CEFR curriculum pages.سایت عمومی فارسی با تعیین سطح، تمرین رایگان و نقشه آموزشی CEFR.
- Staged class requests and dedicated learner, teacher, and administration interfaces.درخواست مرحلهای کلاس و محیطهای اختصاصی زبانآموز، مدرس و مدیریت.
- PostgreSQL data models, classroom access, meeting records, and assignment feedback.مدل اطلاعات PostgreSQL، دسترسی کلاس، رکورد جلسه و بازخورد تکلیف.
- Responsive themes, PWA foundations, and public-page search metadata.تمهای واکنشگرا، زیرساخت وباپ و متادیتای صفحات عمومی.
Questions about this projectپرسشهای رایج درباره پروژه
Is all A1–C2 teaching content finished?آیا تمام محتوای A1 تا C2 آماده است؟
The full CEFR map is published, but that does not mean every lesson is complete. The current A1 operational structure has five ten-session stages; later level staging is refined through the pilot, alongside the prepared sample lessons.
نقشه تمام سطحها منتشر شده، اما این با آمادهبودن تکتک درسها فرق دارد. A1 در ساختار فعلی پنج مرحله دهجلسهای دارد و جزئیات اجرایی سطحهای بعدی در ادامه پایلوت تکمیل میشوند. درسهای آماده، روش آموزش را نشان میدهند.
How does placement work?تعیین سطح فامالینگ چگونه انجام میشود؟
The flow considers grammar, vocabulary, reading, listening, writing, and speaking. Objective sections produce an initial assessment, while a teacher reviews writing and speaking to inform a more suitable starting point.
شش مهارت در نظر گرفته میشوند. بخشهای گرامر، واژگان، خواندن و شنیدن ارزیابی اولیه دارند و نمونه نوشتن و گفتار را مدرس بررسی میکند. هدف، انتخاب نقطه شروع مناسب است؛ یک نمره اولیه بهتنهایی تصمیم نهایی درباره مسیر زبانآموز نیست.
Can someone try the method first?میشود روش آموزش را قبل از کلاس امتحان کرد؟
The public free-learning section includes practical starters and sample lesson routes that can be explored without buying a course. Placement and a class request are available as subsequent steps.
بخش یادگیری رایگان، تمرینهای کاربردی و مسیر نمونه درس دارد و برای شروع آن خرید دوره لازم نیست. بعد از تجربه این بخش، زبانآموز میتواند تعیین سطح انجام دهد و درخواست کلاس بدهد تا ادامه مسیر با اطلاعات بیشتری هماهنگ شود.
Have a similar project in mind?برای پروژهای مشابه صحبت کنیم؟
Tell me what you need to build and where the current experience falls short.بگویید چه محصولی میخواهید بسازید و تجربه فعلی در کدام بخش نیاز به تغییر دارد.