هذا هو تطبيق React تم بناؤه باستخدام TypeScript، مع استخدام العديد من المكتبات والأدوات الحديثة لتحسين الوظائف والتصميم. التطبيق مُهيأ مع React Router للتنقل، واستخدام Context API للمصادقة، واستدعاءات API، وتخزين البيانات في localStorage
للمحافظة على الجلسة المستمرة. كما يستخدم التطبيق Tailwind CSS لتصميم واجهة المستخدم استجابة للأجهزة وتخصيص الألوان.
localStorage
للحفاظ على الجلسة عبر إعادة تحميل الصفحة.git clone https://github.com/your-repository-name/react-ts-app.git
cd react-ts-app
2. تثبيت الاعتمادات
لتثبيت جميع الاعتمادات اللازمة، استخدم npm أو yarn:
npm install
# أو
yarn install
3. تكوين API
تأكد من تكوين نقاط النهاية (endpoints) بشكل صحيح في ملف services/api.ts. استبدل URL الأساسي (base URL) بـ URL API الخاص بك إذا لزم الأمر.
typescript
// api.ts
import axios from 'axios';
const api = axios.create({
baseURL: 'https://your-api-url.com', // استبدل بـ URL API الخاص بك
});
export default api;
4. تكوين Tailwind CSS
تم تكوين Tailwind CSS في التطبيق بالفعل. يمكنك العثور على التكوين في ملف tailwind.config.js. تم تخصيص لوحة الألوان لتناسب سمة التطبيق.
javascript
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
primary: '#334B35',
secondary: '#334B35',
},
},
},
plugins: [],
};
5. تشغيل التطبيق
بعد تثبيت الاعتمادات، يمكنك تشغيل التطبيق محليًا باستخدام:
npm start
# أو
yarn start
سيتم فتح التطبيق على http://localhost:3000.
تدفق المصادقة
تسجيل الدخول: يمكن للمستخدمين تسجيل الدخول باستخدام بيانات اعتمادهم (اسم المستخدم وكلمة المرور). بعد تسجيل الدخول بنجاح، يتم تخزين رموز accessToken و refreshToken في localStorage.
التسجيل: يمكن للمستخدمين الجدد التسجيل بتوفير اسم المستخدم، البريد الإلكتروني، وكلمة المرور.
تسجيل الخروج: يمكن للمستخدمين تسجيل الخروج، مما سيؤدي إلى مسح الرموز من localStorage وإعادة تعيين حالة المصادقة.
الجلسة المستمرة: يتحقق التطبيق من وجود الرموز المخزنة في localStorage عند تحميل الصفحة ويقوم بتسجيل الدخول تلقائيًا إذا كانت الرموز صالحة.
هيكل المشروع
src/
assets/ # الأصول الثابتة مثل الصور والأيقونات
components/ # المكونات القابلة لإعادة الاستخدام
context/ # Context API للمصادقة
pages/ # الصفحات الخاصة بالتوجيه (الصفحة الرئيسية، لوحة القيادة، إلخ)
services/ # دوال استدعاء API
styles/ # أنماط Tailwind CSS المخصصة
App.tsx # المكون الرئيسي للتطبيق
index.tsx # نقطة الدخول للتطبيق
ملاحظات
Context API: نستخدم Context API لإدارة الحالة العالمية مثل بيانات المستخدم وحالة المصادقة. إنه يوفر طريقة مركزية لإدارة ومشاركة الحالة عبر المكونات دون الحاجة إلى تمرير الخصائص (props) عبر المكونات.
Tailwind CSS: يتم استخدام Tailwind CSS لتصميم واجهة المستخدم. تم تعريف الألوان المخصصة والتخطيطات الاستجابة في ملف tailwind.config.js.
تكامل API: يتم استخدام Axios لإجراء طلبات API للتعامل مع المصادقة (تسجيل الدخول، التسجيل، تسجيل الخروج) وغيرها من طلبات API. يجب تحديث نقاط النهاية (endpoints) لتتناسب مع URLs الخاصة بك.
الترخيص
هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.
markdown
### شرح الأقسام:
1. **التقنيات المستخدمة**: يوضح جميع التقنيات الرئيسية مثل React و TypeScript و Context API و React Router و Tailwind CSS و Axios.
2. **المزايا**: يبرز الميزات الأساسية للتطبيق مثل المصادقة، استمرارية الجلسة، واستجابة التصميم.
3. **إعداد التطبيق**: تعليمات كيفية استنساخ المستودع، تثبيت الاعتمادات، وتكوين URL API.
4. **تكامل Tailwind CSS**: يوضح كيف تم تخصيص Tailwind CSS للألوان والاستجابة.
5. **تدفق المصادقة**: يشرح كيفية التعامل مع تسجيل الدخول، التسجيل، تسجيل الخروج، والجلسات المستمرة باستخدام `localStorage`.
6. **هيكل المشروع**: يقدم نظرة عامة على هيكل المجلدات للمشروع.
7. **ملاحظات**: يقدم تفاصيل إضافية حول كيفية استخدام Context API و Tailwind CSS.
### الخطوات التالية:
- يمكنك استبدال URL API بموقعك الفعلي.
- يمكنك توسيع `README.md` لتشمل تعليمات أو ميزات إضافية إذا لزم الأمر.
إذا كنت بحاجة إلى إضافة المزيد أو تعديل أي شيء، فلا تتردد في إخباري!