※ この募集は締め切られました。
React native, expo, MySQL, todolist アプリ開発
【教えてもらいたいこと】
プログラミング/WEB制作
【具体的な相談内容】
この課題の目標は、React Native と REST API に関する知識を適用して、選択した生産性ツールを作成することです。アプリケーションは、一部のワークフロー (メモ作成など) の効率を向上させる必要があります。Web アプリケーションをすでに構築していることを前提として、ここでの目標は、テクノロジ スタックの 2 つのコンポーネント ((1) クライアント アプリケーション (Expo アプリケーション)、(2) REST API (node.js / Express アプリケーション)) にわたって開発する能力を示すことです。そのため、アプリケーションのサイズを選択する際には、利用可能な時間に注意してください。
メモ作成アプリケーション
機能要件
アプリケーションの機能を選択する自由を意図的に与えていますが、対処する必要がある要件がいくつかあります。
API 要件
API は、ユーザーが認証し、モバイル アプリケーションとサーバー間でデータを交換するための方法を提供します。
モバイル アプリケーションは、サードパーティの API にリクエストを行ってはなりません。API からのみデータをリクエストする必要があります。サードパーティ API からデータが必要な場合、サーバーは要求、処理、応答を行う中間エージェントとして機能する必要があります。
前回の課題では、サードパーティ API のみを使用しており、おそらく HTTP メソッド GET のみを使用していました。この課題では、GET、POST、PUT、および DELETE の使用方法を実演する必要があります。
API の基盤となるデータベースは MySQL である必要があります。別のデータベース エンジンを使用する場合は、まずユニット コーディネーターの承認を得てください。
モバイル クライアントの要件
表示および操作する適切なインターフェイス要素を選択する必要があります。ビューが一貫性があり、すっきりとしていて、モダンな外観である限り、アプリケーションの全体的なデザインはあなた次第です。
アプリケーションのコア機能を表示するビュー以外に、少なくとも 4 つのビューが必要です。
スプラッシュ スクリーン
アプリケーションを最初に起動したときのデフォルトのビュー。
ロゴ画像やテキストが含まれます。
Expo ドキュメント: Expo SplashScreen 外部サイトへのリンク。
ログイン/サインアップ
認証を有効にするため。
ユーザー名とパスワードで十分です。パスワードはデータベース内で暗号化する必要があります。
概要
アプリケーションを説明するビュー。
オープンソース ライセンスのリスト (npm-license-crawler 外部サイトへのリンクを参照)。
設定
ユーザーは、アクセシビリティ設定 (フォント サイズなど) を選択できる必要があります。
これらの設定は、アプリケーションの起動間で保持される必要があります。
技術要件
技術要件の詳細
プログラミング言語: JavaScript (ES6 以上)
ライブラリとフレームワーク: React Native、Expo、jode.js、Express、選択したサードパーティ コンポーネント
テスト用デバイス: 携帯電話またはエミュレーター
最新の JavaScript (ES6 以上) を記述
非同期プログラミングを使用
レイアウト、色、フォントなどを含むユーザー インターフェイスを設計
REST API 経由でサーバーからデータを取得
各 HTTP メソッド (GET、POST、PUT、DELETE) の使用をデモンストレーションする必要があります。
必要なサードパーティ API が活用される場合、API はそれらの中間エージェント (プロキシ API) として機能する必要があります。
Create Expo App (create-expo-app) を使用して、初期のプロジェクト構造を作成します。必要に応じてフォルダーを追加できます。
可能な限り、クラス コンポーネントではなく、React 関数コンポーネントを使用します。
コンポーネント間でデータを渡すには、props を使用します。
状態と効果の管理には、フックと永続ストレージを使用します。