Practical symfony 2 дахь өдөр

Project

Бид хараахан нэг ч мөр PHP код бичээгүй байгаа боловч өчигдөр бид ажиллах орчноо суулгаж, хоосон project-оо үүсгэсэн ба зарим нэг сайн хамгааллалтыг мөн хийж өгсөн билээ. Та хичээлийн дагуу хийж байгаа бол одоо таны өмнө шинэ application-ны symfony хуудас гарч ирцэн, инээд алдан баяртайгаар дэлгэцээ харан сууж байгаа байх.
Одоо та илүү ихийг хүсэж байна уу. Та symfony application хөгжүүлэлтийн бүх нарийн ширийн зүйлүүдийг мэдэхийг хүсэж байна уу. Тэгвэл, Хамтдаа symfony хөжгүүлэлтийн нирвана руу хамтдаа аялацгаая!
Өнөөдрийн цагаар бид Jobeetproject-д шаардлагатай загварыг тодорхойлно.
Project Pitch

Өнөөдөр хүн болгон л хямралын талаар ярьж байна. Ажилгүйдэл улам л өсөж байна.
Symfony  хөгжүүлэгчдэд энэ нээх хамаатай биш, тиймээс л яагаад та түрүүлж symfony-г сурах хэрэгтэй юм. Гэвч сайн symfony хөгжүүлэгч олох нь бас яггүй хүнд байгаа.
Та хаанаас symfony хөгжүүлэгч олох вэ? Хаана та symfony-ийнхаа чадвараа зарлах вэ?
Танд сайн ажлын байрны самбар хэрэгтэй. Мангар-ийн гэж та хэлсэн үү? Дахиад бод. Танд төвлөрсөн ажлын зар, сайн хүмүүс эксперт олох мөн хялбар, хурдан, ажил олоход хөгжилтэй, танд санал болгочихмоор тийм газар  зайлшгүй шаардлагатай болно.
Хайсны хэрэггүй. Jobeet бол яг тэр юм. Jobeet бол Нээлттэй Кодын ажлын самбарын програм нэг л зүйл, маш сайн хийнэ. Хэрэглэхэд, өөрчлөхөд, өргөтгөхөд, хялбар мөн таны сайтанд хавсарагдна. Олон хэлний хэлнийг дэмждэг ба мэдээж хэрэглэгчийн туршлагыг нэмэгдүүлэхийн тулд хамгийн сүүлийн үеийн Web 2.0 технологийг ашигласан. Мөн feed болон API –ийг үүсгэнэ.
Аль хэдийн байсиймүү? Та мэдээж интернетийг ашиглан Jobeet-той ижилхэн маш олон ажлын самбарыг олж болно.
Харин Нээлттэй Кодын эхтэй, бидний энд санал болгож байгаа шиг маш өргөн онцлогуудтай-г олох гээд оролддоо.
———————————
Хэрэв та үнэхээр symfony-ийн ажил болон symfony хөгжүүлэгчийг хөлслөх гэж байгаа бол та http://symfonians.net/вэбсайт руу орж болно.
Project—ийн Хэрэглэгчийн Төрөл
Код руугаа шумбаж эхлэхийн өмнө project-оо багахан тодорхойлъё. Дараах хэсгүүд бол бид нарын эхний project-ын хувилбарт хэрэгжүүлэх онцлогууд юм.
Jobeet вэб сайт дөрвөн төрлийн хэрэглэгчтэй байна.
• admin: Вэб сайтын эзэмшигч, хамгийн өндөр эрх мэдэлтэй байна
• user: Вэб сайтад зочилж ажил хайгч
• poster: Вэб сайтад зочилж ажлын байр оруулагч
• affiliate: Өөрийн сайтдаа дахин ажил хэвлэгч
Project хоёр application-с бүрдэнэ. Хэрэглэгч вэбсайттай харилцах хэсэг frontend ( доор орших хүүрнэл F1-с F7), админы вэб сайтаа удирдах хэсэг backend (хүүрнэл B1 -с B3).
Backend application бол хамгаалалттай ба нэвтрэх эрхээр дамжигдана.
Story F1: Нүүр хуудснаас хэрэглэгч хамгийн сүүлийн хүчин төгөлдөр ажлуудыг харна.

Хэрэглэгч Jobeet вэбсайт-д зочилсноор идэвхтэй ажлын байрны жагсаалтыг харна. Ажлууд нь категороор болон хэвлэгдсэн он сараар эрэмблэгдэнэ ( шинэ нь эхэнд). Ажил бүрд зөвхөн ажлын байрлал, албан тушаал, компани нь л харагдана.
Категори жагсаалтын хувьд эхний 10 ажлыг харуулах ба бүх ажлыг харуулахад холбох линктэй байна (Story F2).
Нүүр хуудсанаас хэрэглэгч ажлын жагсаалтыг сайжруулах (Story F3), эсвэл шинэ ажил оруулж (Story F5) болно.
Story F2: Хэрэглэгч өгөгдсөн категорит хамрагдах бүх ажлыг харах боломжтой

Хэрэглэгч категорийн нэр дээр юмуу “more jobs” холбоос дээр дарангуут тухайн категорит хамрагдах бүх ажил он сараар нь шүүж харагдана. Жагсаалт нь нэг хуудсанд 20 ажлаар хуудаслагдана.
Story F3: Хэрэглэгч түлхүүр үгийн дагуу ажлын жагсаалтуудыг боловсруулан харах боломжтой.

Хэрэглэгч зарим түлхүүр үг ашиглан хайлтаа өөртөө тохируулж боловсруулах бүрэн боломжтой. Түлхүүр үгүүд нь байрлал(location),албан тушаал (position), категори (category) болон компани талбараас олдох боломжтой үг байна.
Story F4: Хэрэглэгч ажлын холбоос дээр дарж дэлгэрэнгүй мэдээллийг харах боломжтой

Хэрэглэгч жагсаалтаас сонгон дэлгэрэнгүй мэдээллийг харах боломжтой.
Story F5: Хэрэглэгч ажлын байр оруулах
Хэрэглэгч ажлын байр оруулах боломжтой. Ажлын байрны мэдээлэл хэд хэдэн хэсэг мэдээллээс тогтоно.
• Компани
• Төрөл(Бүтэн цагийн, цагийн ажил, орон тооны бус)
• Лого (заавал биш)
• URL (заавал биш)
• Албан тушаал
• Байршил
• Категори (хэрэглэгч боломжит жагсаалтуудас сонгох боломжтой)
• Ажлын тодорхойлолт (URL болон Эмайл хаяг автоматаар холбогдоно)
• Хэрхэн хүсэлтээ илгээх (URL болон Эмайл хаяг автоматаар холбогдоно)
• Олон нийт (ажил нь салбар сайтаас мөн оруулах боломжтой байна)
• Имэйл(Ажил олгогчын Имэйл)
Ажлын байр оруулахын тулд гишүүнээр элссэн байх шаардлагагүй.
Үйл явц нь хоёрхон алхамаас тогтсон маш тодорхой байна. Нэгдүгээрт: хэрэглэгч ажлын байраа тодорхойлох бүхий л шаардлагатай мэдээлийг форм дээр бөглөх, тэгээд мэдээллийг шалган сүүлийн шатанд дахин нэг харна.
Хэрэглэгч нэвтрэх эрхгүй байсан ч ажлын мэдээлэл нарийн URL-ий ачаар дахин өөрчлөлт хийх боломжтой (хэрэглэгч ажилаа үүсгэхэд олгогдох токен-оор хамгаалагдсан).
Ажил тус бүр 30 өдрийн турш онлайн байна (энэ нь админаар тодрхойлогдоно – Story B2-г хар). Хэрэглэгч ажлын байраа дахин 30 хоногоор сунгаж болох боловч энэ нь зөвхөн хугацаа дуусахаас өмнөх 5 хоногийн дотор хийх боломжтой байна.
Story F6: Хэрэглэгч салбар гишүүнээр элсэх боломжтой

Хэрэглэгч гишүүн болох болон, Jobeet API ашиглахын тулд хүсэлт илгээх хэрэгтэй болно. Хүсэлт илгээхийн тулд дараах мэдээллийг явуулах шаардлагатай.
• Нэр
• Имэйл
• Вэбсайтны URL
Салбар гишүүн (affliate) –ны эрх админаар идэвхжүүлэгдэнэ(Story B3). Идэвхижсэний дараа, гишүүн API-тай хэрэглэгдэх токеныг Имэйлээр хүлээн авна.
Хүсэлт илгээхдээ гишүүн боломжтой категоруудын дэд хэсгээс ажлыг сонгон авах боломжтой.
Story F7: Гишүүн сүүлийн идэвхтэй ажлуудын жагсаалтыг гаргаж авна

Гишүүн токеноороо API дуудаж хамгийн сүүлийн ажлын жагсаалтуудыг гаргаж авах боломжтой. Энэ жагсаалт нь XML, JSON эсвэл YAML форматаар гарах боломжтой байна.
Жагсаалт нь ажилд боломжтой олон нийтийн мэдээллийг агуулсан байна. Гишүүн нь харах ажлын тоогоо хязгаарлах боломжтой ба  мөн тодорхой нэг категорит зориулан хүсэлтээ боловсруулах боломжтой байна.
Story B1: Админ нь вэбсайтаа тохируулна

Админ нь вэб сайт дахь категоруудыг засварлах боломжтой.
Story B2: Админ нь ажлуудыг зохицуулна

Админ оруулсан ажлуудыг засварлах ба устгах боломжтой.
Story B3: Админ гишүүдийг зохицуулна

Админ гишүүн үүсгэж, засварлах боломжтой байна. Мөн гишүүнийг идэвхжүүлэх, идэвхгүй болгох эрхтэй.
Админ шинэ гишүүнийг идэвхжүүлэхэд систем гишүүнд зориулж цорын ганц давтагдашгүй токеныг үүсгэнэ.
Маргааш болтол баяртай
Ямар ч вэб хөгжүүлэлтэнд эхний өдөр хэзээ ч кодчилол хийгдэхгүй. Шаардлагуудыг түрүүлж тодорхойлох шаардлагатай ба гараар дезайн боловсруулж ажилладаг. Өнөөдрийн хийсэн ажил бол энэ юм.
Дараагийн хэсэг нь: The Data Model

Published by

Think!

Web developer. Open source enthusiast.

13 thoughts on “Practical symfony 2 дахь өдөр”

  1. Маш хэрэгтэй сайхан зүйлийг орчуулж тавьж байгаад баярлалаа.Үргэлжлүүлэээд орчуулаад байгаарай.

  2. sain u ho, virtual host uusgecheed oor hed heden project uusgeed duudhaar neg l virtual host-ooroo duudaad bna… yaaj olon project-g tus tusad ni virtual host-toi bolgoh ve?

  3. Warning: require_once(Structures/Graph.php): failed to open stream: No such file
    or directory in PEAR\Downloader.php on line 1217
    PHP Warning: require_once(Structures/Graph.php): failed to open stream: No such
    file or directory in C:\wamp\bin\php\php5.3.5\PEAR\PEAR\Downloader.php on line
    1217
    PHP Stack trace:
    PHP 1. {main}() C:\wamp\bin\php\php5.3.5\PEAR\pearcmd.php:0
    PHP 2. PEAR_Command_Common->run() C:\wamp\bin\php\php5.3.5\PEAR\pearcmd.php:30
    8
    PHP 3. PEAR_Command_Install->doInstall() C:\wamp\bin\php\php5.3.5\PEAR\PEAR\Co
    mmand\Common.php:271
    PHP 4. PEAR_Downloader->sortPackagesForInstall() C:\wamp\bin\php\php5.3.5\PEAR
    \PEAR\Command\Install.php:700

    Warning: require_once(Structures/Graph.php): failed to open stream: No such file
    or directory in C:\wamp\bin\php\php5.3.5\PEAR\PEAR\Downloader.php on line 1217

    Call Stack:
    0.0025 530784 1. {main}() C:\wamp\bin\php\php5.3.5\PEAR\pearcmd.php:0
    0.1469 3478008 2. PEAR_Command_Common->run() C:\wamp\bin\php\php5.3.5\P
    EAR\pearcmd.php:308
    0.1469 3478008 3. PEAR_Command_Install->doInstall() C:\wamp\bin\php\php
    5.3.5\PEAR\PEAR\Command\Common.php:271
    62.4819 12475224 4. PEAR_Downloader->sortPackagesForInstall() C:\wamp\bin
    \php\php5.3.5\PEAR\PEAR\Command\Install.php:700

    PHP Fatal error: require_once(): Failed opening required ‘Structures/Graph.php’
    (include_path=’C:\wamp\bin\php\php5.3.5\pear’) in C:\wamp\bin\php\php5.3.5\PEAR
    \PEAR\Downloader.php on line 1217
    PHP Stack trace:
    PHP 1. {main}() C:\wamp\bin\php\php5.3.5\PEAR\pearcmd.php:0
    PHP 2. PEAR_Command_Common->run() C:\wamp\bin\php\php5.3.5\PEAR\pearcmd.php:30
    8
    PHP 3. PEAR_Command_Install->doInstall() C:\wamp\bin\php\php5.3.5\PEAR\PEAR\Co
    mmand\Common.php:271
    PHP 4. PEAR_Downloader->sortPackagesForInstall() C:\wamp\bin\php\php5.3.5\PEAR
    \PEAR\Command\Install.php:700

    Fatal error: require_once(): Failed opening required ‘Structures/Graph.php’ (inc
    lude_path=’C:\wamp\bin\php\php5.3.5\pear’) in C:\wamp\bin\php\php5.3.5\PEAR\PEAR
    \Downloader.php on line 1217

    Call Stack:
    0.0025 530784 1. {main}() C:\wamp\bin\php\php5.3.5\PEAR\pearcmd.php:0
    0.1469 3478008 2. PEAR_Command_Common->run() C:\wamp\bin\php\php5.3.5\P
    EAR\pearcmd.php:308
    0.1469 3478008 3. PEAR_Command_Install->doInstall() C:\wamp\bin\php\php
    5.3.5\PEAR\PEAR\Command\Common.php:271
    62.4819 12475224 4. PEAR_Downloader->sortPackagesForInstall() C:\wamp\bin
    \php\php5.3.5\PEAR\PEAR\Command\Install.php:700

  4. маш их баярлалаа үнэхээр хэрэгтэй зүйлүүд блаа орчуулж тавьсан хүмүүст мөн мааш их баярлалаа

Leave a reply to zolboo Хариулт болиулах