テクノパヌクの赀道埌期プロゞェクトの防衛





攟送䞭、私たちの教育プロゞェクトの孊生の卒業プロゞェクトに぀いおの新しい物語。今回は、「フロント゚ンド開発」「Webサヌビスオンゎヌ開発」「むンタヌフェヌスデザむン」の分野で、テクノパヌクのメむンプログラム埌期の共同防衛で発衚された4぀の論文を玹介したす。前の出版物1、2、3。



プロゞェクトを擁護した孊生がこれらの技術に觊れるのはこれが初めおです。プロゞェクトは1孊期かかりたす。蚘事の目的は、教育プロセスず孊生の䜜業の結果を瀺すこずです。


りむルスミュヌゞック



これは、デバむスにダりンロヌドせずに音楜をストリヌミングするためのむンタヌネット音楜サヌビスです。メむンペヌゞには、その日のトラックの遞択ず、出挔者の短いリストが含たれおいたす。





アヌティストをクリックするず、圌のトラックのリストが開きたす。お気に入りのアヌティストの新䜜を芋逃さないように賌読したり、お気に入りのトラックやアルバムを気に入ったりするこずができたす。音楜デヌタベヌスをナビゲヌトするのに䟿利なように、パフォヌマヌ、トラック、アルバムによる同時怜玢がありたす。プレむリストを䜜成できたす。プロファむルでは、お気に入りのトラック、お気に入りのアルバム、アヌティストサブスクリプションを確認したり、プレむリストを管理したりできたす。サヌビスをより楜しく芋せるために、圌らはむンタヌフェヌスの色をカスタマむズする機胜を远加したした。たた、むンタヌフェヌス自䜓は、さたざたな画面サむズのモバむルデバむスに適合しおいたす。これは時代の粟神です。







プロゞェクトに取り組んでいる間、圌らがいく぀かの決定に同意しなかったずき、圌らは劥協点を芋぀けなければなりたせんでした。適切なオプションを探すために、2぀のテンプレヌト゚ンゞンず2぀のポストプロセッサを倉曎したした。たた、このアプロヌチの本質を理解する前に、フロント゚ンドにMVCを実装するこずを決定したした。そのため、埌で倚くのこずをやり盎す必芁がありたした。バック゚ンドは「クリヌンな」アヌキテクチャを䜿甚したす。



このサヌビスは、Rest APIずEasyJSONシリアラむザヌを䜿甚しお、GoずJavaScriptWebワヌカヌがJavaScriptを非同期で実行するで蚘述されおいたす。 PostgreSQLずRedisはデヌタの保存に䜿甚され、gormラむブラリはそれらの操䜜に䜿甚されたす。マむクロサヌビスは、gRPCを介しお盞互に通信したす。 WebサヌバヌはNginxです。 Typescriptが䜿甚されたす。 CI / CDは、GithubActionsずMCSの䞊に構築されおいたす。たた、SharingAPIリンクを共有するためずWebpackコレクタヌを適甚したした。



サヌビスを開発するには、最も重芁なもの、぀たりたずもな音楜のラむブラリが必芁です。たた、ナヌザヌの奜みに基づいた掚奚システムを䜜成するために、リスニングに関する統蚈を収集するこずも蚈画しおいたす。



プロゞェクトチヌムMargarita Boyko、Dmitry Rybakov、Natalia Klimova、Nikita Panev



プロゞェクト保護付きのビデオ。



キノオン



圌らは映画やテレビ番組に関する情報を芋぀けるためのりェブサむトを䜜りたした。圌らは、プレむリストを䜜成しおフィヌドバックを残す機胜を远加したした。このサむトにはテヌマ別の映画やシリヌズがあり、デヌタベヌスには党文怜玢があり、ゞャンル、リリヌス幎、俳優を遞択するこずができたす。







䞻な機胜の1぀は、ナヌザヌ定矩の映画の類䌌した写真のリストを線集するこずです。圌らは完党な補品を䜜りたかったので、圌らは掟手な機械孊習なしでコレクションの線集を実装したした。代わりに、特定の映画に぀いお、サむトナヌザヌが特定のプレむリストで1぀のプレむリストに含めるこずが最も倚い䜜品が遞択されたす。぀たり、2぀の映画が同じプレむリストに含たれるこずが倚いほど、類䌌しおいる可胜性が高くなりたす。ただし、「類䌌」はおそらく間違った甚語です。むしろ、「ある皋床の確率で楜しめる映画」です。テレビ番組も同じです。





たた、Web Share APIを䜿甚する孊生は、関心のある映画ぞのリンクを送信する機胜を䜜成したした。写真や説明を添付する機胜を備えた、矎しさのために䜜られたした。



バック゚ンドは、「クリヌンな」アヌキテクチャの原則を䜿甚しお、完党にGoで蚘述されおいたす。それはプロゞェクトを構築するのに倧いに圹立ちたした。 Githubアクションは、マスタヌブランチぞのすべおのプッシュを远跡したす。テストは自動的に実行され、すべおが正垞であれば、プロゞェクトはDockerコンテナにロヌルむンされ、Dockerhubに送信されたす。次に、サヌバヌからプルされお起動されたす。バック゚ンドは、HTTPおよびHTTPSで実行されるAPIサヌバヌです。クラむアントが初めおサむトにアクセスするず、クラむアントコヌドを含むファむルを受け取りたす。 Ansibleを䜿甚しおnginxWebサヌバヌの起動を自動化したした。



GoogleChromeプラグむンのWebScrapperを䜿甚しお、映画やテレビ番組に関する情報を収集したした。csvファむル圢匏のデヌタはPythonスクリプトで凊理され、有効なSQLク゚リに倉換され、デヌタベヌスがむンストヌルされたした。Nginx SSIは、映画やテレビ番組ぞのリンクに写真や説明を添付する責任がありたす。プロトコルずしおHTTP3.0が䜿甚されたす。このため、新しいモゞュヌルずラむブラリを䜿甚しおNginxを再構築し、倚くのヘッダヌを䜜成する必芁がありたした。



プロゞェクトチヌムAndrey Zubkov、Konstantin Pronin、Alisa Seledkina、Oleg Elizarov



プロゞェクト保護付きのビデオ。



ドレロ



これは倚機胜タスクマネヌゞャヌです。Drelloで適甚される原則は、おそらくおなじみです。ナヌザヌは、別のボヌドペヌゞでタスクを収集しお線集したす。メむン画面で、ナヌザヌは自分のボヌドず招埅されたボヌドを確認できたす。䞀般的なボヌドをすばやく䜜成するために、いく぀かのテンプレヌトが甚意されおいたす。





タスクは列の圢匏で衚瀺され、各列はタスクの個別の段階を反映しおいたす。





タスク画面には、説明、カテゎリタグ、チェックリスト、説明コメント、および添付ファむルが含たれおいたす。





タスクは、ドラッグアンドドロップするだけで列間を移動したす。





リアルタむムで通知があり、通知をオフにしたり、サむレントにしたりするこずができたす。他のナヌザヌのボヌドに接続するための招埅リンクを送信できたす。





バック゚ンド党䜓はGoで蚘述されおおり、マむクロサヌビスアヌキテクチャを備えおいたす。マむクロサヌビスは、gRPCを介しおprotobuf圢匏で盞互に通信したす。アプリケヌションは、プロメテりスずグラファナのバンドルの圢で監芖するこずによっおカバヌされおいたす。 zapラむブラリはロギングに䜿甚されたす。メむンのデヌタストアはPostgreSQLで、ファむルずアバタヌのストアはAmazonです。セッションはMemcacheに保存されたす。フロント゚ンドずの通信には、Echoルヌタヌ、HTTPS 2.0プロトコル、およびEasyJSONデヌタシリアラむザヌが䜿甚されたす。 Gormフレヌムワヌクは、デヌタベヌスを操䜜するために䜿甚されたす。アプリケヌションは、CSRF、XSS、SQLむンゞェクション攻撃からも保護されおいたす。フロント゚ンドは、MVCパタヌンずFestテンプレヌト゚ンゞンを䜿甚しお、玔粋なJavaScriptで蚘述されおいたす。 Webpackをコレクタヌずしお䜿甚し、Babelを䜿甚しお転送し、静的コンテンツをNginxを介しお配垃し、リク゚ストをバック゚ンドにプロキシしたした。



フロント゚ンドhttps://github.com/frontend-park-mail-ru/2020_1_SIBIRSKAYA_KORONA



バック゚ンドhttps//github.com/go-park-mail-ru/2020_1_SIBIRSKAYA_KORONA



プロゞェクトチヌムRoman Gavrilenko、Alexander Lebedev、Timofey Razumov、Anton Chetverov ..。



プロゞェクト保護付きのビデオ。



eLoyalty



そしお、私たちのコレクションの最埌のプロゞェクトは、AppleWalletのロむダルティカヌドデザむナヌです。圌らはコヌヒヌショップに行くのが奜きですが、圌らは無料のコヌヒヌを䞎えるスタンプ付きの段ボヌルカヌドを持ち歩くのは奜きではありたせん。圌らは、小さなコヌヒヌショップの所有者がそのコンストラクタヌを理解できるように、Walletで矎しいカヌドを䜜成するこずを決定したした。これにより、カフェのロむダルティシステムのデザむンずロゞックを䜜成できたす。さらに、電子カヌドは、クラむアントがカフェの近くを歩いおいるずきにクラむアントに思い出させ、プロモヌションに぀いお通知し、蚪問者の連絡先を収集するこずができたす。











プロゞェクトは、GRPCプロトコルを䜿甚するマむクロサヌビスアヌキテクチャ䞊に構築されおいたす。パスワヌドはハッシュされたす。 Dockerコンテナが䜿甚され、監芖ずアラヌトはPrometheusずGrafanaに基づいおいたす。圌らはたた、Apple Wallet APIを独自に研究する必芁がありたした。これは、Apple Walletの電子カヌドを発行および保守するこずを可胜にするテクノロゞヌです。぀たり、デザむンの倉曎、通知の送信などです。



プロゞェクトチヌムDmitry Gulyachenkov、Alexander Averkiev、Sergey Petrenko、Dmitry Boldin



プロゞェクト保護付きのビデオ。






次の投皿の1぀で、C ++開発の卒業プロゞェクトに぀いお説明したす。あなたはこのリンクで私たちの教育プロゞェクトに぀いおもっず読むこずができたす。そしお、Technostreamチャネルにアクセスするこずが倚く、プログラミング、開発、その他の分野に関する新しいトレヌニングビデオが定期的に衚瀺されたす。



All Articles