Latio Team: 一緒に構築するテクノロジーハッカーのコミュニティ
これは Wix Studio Challenge: Community Edition への提出物です。
私のコミュニティプラットフォーム
Latio Team は、ラテンアメリカを拠点とするテクノロジービルダー向けに構築されたコミュニティです。ハッカソンに参加しながら、参加し、学び、成長し、つながりを築く場所です。コミュニティ ページには次の機能が含まれています:
- 人材プール: メンバーは、採用担当者や他の起業家に見てもらうことを目的とした公開ページにプロフィールを掲載します。
- 求人情報: メンバー向けの最新のリモート求人を紹介する求人掲示板 (RemoteOK が提供する API)。メンバーはコミュニティ ページ内の求人投稿を確認して応募できます。
- ハッカソンのリスト: メンバー向けに新しいハッカソンの機会を共有および投稿する場所です。
- 接続: 他のメンバーと話したり、仕事の最新情報を投稿したり、新しいコラボレーターを見つけたりするためのスペースです。
- 仕事の問い合わせ: 各メンバーのプロフィールには連絡ボタンがあり、採用担当者がメッセージを送信したり、仕事の問い合わせをしたりすることができます。メンバーは、個人情報を公開することなく、カスタム リスト ページ内で受信したメッセージを確認できます。
デモ
プロジェクトリンク: https://fredoist.wixstudio.io/latio-team
ホームページ:
人材プール:
求人掲示板と投稿
ハッカソンのリスト:
接続:
メンバープロフィール:
お仕事お問い合わせフォームとリスト:
開発の道のり
JavaScript をすでに知っている場合、Wix の Studio と Velo API を使用した構築は非常に簡単でした。
Velo API のドキュメントはすべて明確で非常に完全です。また、Wix Studio 内のエディターには、非常に使いやすい優れたオートコンプリート機能がいくつかあります。エディターの構築とテストを開始すると、エディターがどのように機能するかを理解し、新しい API をすぐに実装できるようになります。
追加のポイントとして、Wix のテンプレートを使用すると、素晴らしい Web サイトを非常に迅速に構築できます。デザインは、追加する要素の新しいアプリごとに適応します。これは、他に何も触れる必要がないため、非常に優れています。
これは、いくつかの機能のコード ブロックであり、それらを複製できます。
求人情報
import { Permissions, webMethod } from "wix-web-module"; import { getJSON } from "wix-fetch"; const formatPrice = (p) => new Intl.NumberFormat('en-US', { notation: 'compact', maximumFractionDigits: p < 1 ? 3 : 1, }).format(Number(p)); // GET call using getJSON export const getJobs = webMethod(Permissions.Anyone, async () => { const response = await getJSON( "https://remoteok.com/api", ); const jobs = response.slice(1).map(job => { job._id = job.id; job.salary_range = `$ ${formatPrice(job.salary_min)}-${formatPrice(job.salary_max)}` job.company_logo = job.company_logo ? `https://remoteok.com/cdn-cgi/image/format=auto,fit=contain,width=100,height=100,quality=50/${job.company_logo}` : null; job.logo = job.logo ? `https://remoteok.com/cdn-cgi/image/format=auto,fit=contain,width=100,height=100,quality=50/${job.logo}` : null; job.image = job.company_logo ?? job.logo ?? `https://ui-avatars.com/api/?name=${job.company}` return job; }) return jobs; });
求人ページ
import { ok, notFound, WixRouterSitemapEntry } from "wix-router"; import { getJobs } from "backend/fetch-jobs.web" export async function job_Router(request) { // Get item name from URL request const slug = request.path[0]; // Get the item data by name const jobs = await getJobs(); const data = jobs.filter(job => job.slug === slug) if (data.length) { const job = data[0]; // Define SEO tags const seoData = { title: job.position, description: "This is a description of " + job.position + " page", noIndex: false, metaTags: [{ "property": "og:title", "content": job.position }, ] }; // Render item page return ok("job-page", job, seoData); } // Return 404 if item is not found return notFound(); } export async function job_SiteMap(sitemapRequest) { const jobs = await getJobs() // Convert the data to site map entries const siteMapEntries = jobs.map((job) => { const data = job; const entry = new WixRouterSitemapEntry(job.slug); entry.pageName = "job-page"; // The name of the page in the Wix editor to render entry.url = "/job/" + job.slug; // Relative URL of the page entry.title = data.position; // For better SEO - Help Google return entry; }); // Return the site map entries return siteMapEntries; }
メンバーへのお問い合わせの送信
import { Permissions, webMethod } from "wix-web-module"; import wixData from "wix-data"; export const sendInquiry = webMethod( Permissions.Anyone, async (username, email, details, budget) => { const results = await wixData.query("Members/PrivateMembersData").eq('slug', username).find() const member = results.items.length > 0 ? results.items[0] : null; if(member) { const memberId = member._id; const result = await wixData.save("WorkInquiries", { recipientId: memberId, contactEmail: email, details, budget }) if(result) { return true } } return false; } );
メンバーの問い合わせを取得しています
import { Permissions, webMethod } from "wix-web-module"; import { query } from "wix-data"; import { currentMember } from "wix-members-backend" export const getInquiries = webMethod( Permissions.SiteMember, async () => { const member = await currentMember.getMember(); const data = await query("WorkInquiries").eq('recipientId', member._id).find(); return data.items; } );
Velo API
- wix-data: カスタム コレクション データとパブリック/プライベート機能のメンバー データの保存、取得、レンダリングに使用されます。
- wix-fetch: 求人投稿は RemoteOK の API によって提供され、Wix の取得メソッドを使用して取得され、求人はリピーター ブロックにレンダリングされます。
- wix-router: 求人投稿も、Wix のルーターが使用される独自のページにレンダリングされます。
- wix-members-backend: お問い合わせフォームをカスタム コレクションにリンクするために使用されます。データが送信されると、この API を使用してプロフィール スラッグと照合することで memberId が取得され、フォーム データとともにコレクションに渡されます。
- wix-location-frontend および wix-window-frontend: これらは、パスやメンバー スラッグなどの URL データを取得するために単に使用されます。
Wix アプリ
- Wix メンバーエリア: ユーザープロフィールと認証に使用されます。
- Wix グループ: 接続機能に使用されます。
- Wix FAQ: ホームページに FAQ を含めます。
- CMS: ページ内のデータを表示するためにいくつかの CMS 接続を使用しました。
以上がLatio Team: 一緒に構築するテクノロジーハッカーのコミュニティの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。
