Skip to content

ErfanBagheri404/panello-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PANELLO DASHBOARD

Empower your development with seamless integration and efficiency.

last-commit repo-top-language repo-language-count

Built with the tools and technologies:

Express JSON Socket.io npm Autoprefixer Mongoose PostCSS .ENV JavaScript
Passport React TypeScript tsnode Cloudinary Vite ESLint Axios CSS

داشبورد پنلو

توسعه خود را با یکپارچگی و کارایی بی‌نظیر قدرتمند کنید.

فهرست مطالب


نمای کلی

panello-lib یک کتابخانه قدرتمند است که برای بهبود توسعه برنامه‌های وب تعاملی طراحی شده و یکپارچگی بی‌نظیری بین عملکردهای سمت سرور و کلاینت فراهم می‌کند.

چرا panello-lib؟

این پروژه با هدف ساده‌سازی فرآیند توسعه و در عین حال تضمین تجربه کاربری قدرتمند طراحی شده است. ویژگی‌های اصلی شامل:

  • 🎛️ محیط یکپارچه: مدیریت برنامه‌های سمت سرور و کلاینت در یک جریان کاری واحد.
  • ارتباط بلادرنگ: استفاده از Socket.IO برای به‌روزرسانی‌ها و تعاملات فوری.
  • 🔒 احراز هویت قوی: مدیریت امن کاربران با یکپارچه‌سازی احراز هویت گوگل.
  • 🎨 کامپوننت‌های رابط کاربری پویا: کامپوننت‌های قابل سفارشی‌سازی برای رابط کاربری واکنش‌گرا و جذاب.
  • مدیریت جامع وظایف: ایجاد، به‌روزرسانی و حذف کارآمد وظایف در برنامه شما.
  • 🌍 پشتیبانی از بین‌المللی‌سازی: سازگاری آسان برنامه شما با چندین زبان برای دسترسی گسترده‌تر.

ویژگی‌ها

کامپوننت‌های داشبورد

  • 📊 نمودارهای تعاملی: تجسم داده‌ها با نمودارهای شعاعی واکنش‌گرا و سایر ابزارهای تجسم داده
  • 📝 مدیریت وظایف: ایجاد، به‌روزرسانی و پیگیری وظایف با کدگذاری رنگی و قابلیت‌های تخصیص
  • 🔔 یادآوری‌ها: تنظیم و مدیریت یادآوری‌ها با پیگیری تکمیل
  • 📅 یکپارچه‌سازی تقویم: برنامه‌ریزی و مدیریت رویدادها با قابلیت تقویم اشتراکی
  • 💬 سیستم پیام‌رسانی: ارتباط بلادرنگ بین کاربران

یکپارچه‌سازی هوش مصنوعی

  • 🤖 پیشنهادات هوش مصنوعی: جعبه‌های پیشنهاد هوشمند برای افزایش بهره‌وری
  • 📝 تولید محتوا: ابزارهای تولید محتوا با کمک هوش مصنوعی

احراز هویت و امنیت

  • 🔐 احراز هویت گوگل: ورود امن با یکپارچه‌سازی OAuth گوگل
  • 👤 دسترسی مبتنی بر نقش: نقش‌ها و مجوزهای کاربری قابل سفارشی‌سازی
  • 🔒 احراز هویت JWT: دسترسی امن به API با احراز هویت مبتنی بر توکن

شروع کار

پیش‌نیازها

این پروژه به وابستگی‌های زیر نیاز دارد:

  • زبان برنامه‌نویسی: تایپ‌اسکریپت
  • مدیر بسته: npm
  • Node.js: نسخه 14.x یا بالاتر

نصب

ساخت panello-lib از منبع و نصب وابستگی‌ها:

  1. کلون کردن مخزن:

    git clone https://github.com/ErfanBagheri404/panello-lib
    
  2. رفتن به دایرکتوری پروژه:

    cd panello-lib
    
  3. نصب وابستگی‌ها:

    npm install
    

استفاده

اجرای پروژه با:

npm run run

این دستور هم سرور و هم کلاینت را به صورت همزمان با استفاده از اسکریپت‌های تعریف شده در package.json اجرا می‌کند.

برای اجرای فقط کلاینت:

npm run client

برای اجرای فقط سرور:

npm run server

تست

برای اجرای تست‌های پروژه:

npm run test

ساختار پروژه

panello-lib/
├── client/                 # برنامه فرانت‌اند React
│   ├── src/
│   │   ├── components/     # کامپوننت‌های قابل استفاده مجدد
│   │   ├── layout/         # کامپوننت‌های لایه
│   │   ├── pages/          # کامپوننت‌های صفحه
│   │   └── ...
├── server/                 # برنامه بک‌اند Express
│   ├── src/
│   │   ├── models/         # مدل‌های داده Mongoose
│   │   ├── routes/         # مسیرهای API
│   │   ├── types/          # تعاریف نوع TypeScript
│   │   └── ...
└── package.json            # پیکربندی پروژه

مستندات API

Authentication API

  • GET /api/auth/profile - Get the current user's profile
  • POST /api/auth/login - User login
  • POST /api/auth/register - User registration

Reminder API

  • GET /api/reminders - Get all reminders for the authenticated user
  • POST /api/reminders - Create a new reminder
  • PUT /api/reminders/:id - Update a reminder
  • DELETE /api/reminders/:id - Delete a reminder

Task API

  • GET /api/tasks - Get all tasks for the authenticated user
  • POST /api/tasks - Create a new task
  • PUT /api/tasks/:id - Update a task
  • DELETE /api/tasks/:id - Delete a task

مشارکت

مشارکت‌ها مورد استقبال قرار می‌گیرند! لطفاً برای ارسال Pull Request اقدام کنید.

  1. مخزن را fork کنید
  2. شاخه ویژگی خود را ایجاد کنید (git checkout -b feature/amazing-feature)
  3. تغییرات خود را commit کنید (git commit -m 'Add some amazing feature')
  4. به شاخه push کنید (git push origin feature/amazing-feature)
  5. یک Pull Request باز کنید

Table of Contents


Overview

panello-lib is a powerful library designed to enhance the development of interactive web applications, providing a seamless integration of client and server functionalities.

Why panello-lib?

This project aims to streamline the development process while ensuring a robust user experience. The core features include:

  • 🎛️ Unified Environment: Manage both client and server applications in a single workflow.
  • Real-time Communication: Leverage Socket.IO for instant updates and interactions.
  • 🔒 Robust Authentication: Secure user management with Google authentication integration.
  • 🎨 Dynamic UI Components: Customizable components for a responsive and engaging user interface.
  • Comprehensive Task Management: Efficiently create, update, and delete tasks within your application.
  • 🌍 Internationalization Support: Easily adapt your application to multiple languages for broader accessibility.

Features

Dashboard Components

  • 📊 Interactive Charts: Visualize data with responsive Radial charts and other data visualization tools
  • 📝 Task Management: Create, update, and track tasks with color coding and assignment capabilities
  • 🔔 Reminders: Set and manage reminders with completion tracking
  • 📅 Calendar Integration: Schedule and manage events with shared calendar functionality
  • 💬 Messaging System: Real-time communication between users

AI Integration

  • 🤖 AI Suggestions: Smart suggestion boxes to enhance productivity
  • 📝 Content Generation: AI-assisted content creation tools

Authentication & Security

  • 🔐 Google Authentication: Secure login with Google OAuth integration
  • 👤 Role-based Access: Customizable user roles and permissions
  • 🔒 JWT Authentication: Secure API access with token-based authentication

Getting Started

Prerequisites

This project requires the following dependencies:

  • Programming Language: TypeScript
  • Package Manager: npm
  • Node.js: v14.x or higher

Installation

Build panello-lib from the source and install dependencies:

  1. Clone the repository:

    git clone https://github.com/ErfanBagheri404/panello-lib
    
  2. Navigate to the project directory:

    cd panello-lib
    
  3. Install the dependencies:

    npm install
    

Usage

Run the project with:

npm run run

This will start both the client and server concurrently using the scripts defined in package.json.

To run only the client:

npm run client

To run only the server:

npm run server

Testing

To run tests for the project:

npm run test

Project Structure

panello-lib/
├── client/                 # React frontend application
│   ├── src/
│   │   ├── components/     # Reusable UI components
│   │   ├── layout/         # Layout components
│   │   ├── pages/          # Page components
│   │   └── ...
├── server/                 # Express backend application
│   ├── src/
│   │   ├── models/         # Mongoose data models
│   │   ├── routes/         # API routes
│   │   ├── types/          # TypeScript type definitions
│   │   └── ...
└── package.json            # Project configuration

API Documentation

Authentication API

  • GET /api/auth/profile - Get the current user's profile
  • POST /api/auth/login - User login
  • POST /api/auth/register - User registration

Reminder API

  • GET /api/reminders - Get all reminders for the authenticated user
  • POST /api/reminders - Create a new reminder
  • PUT /api/reminders/:id - Update a reminder
  • DELETE /api/reminders/:id - Delete a reminder

Task API

  • GET /api/tasks - Get all tasks for the authenticated user
  • POST /api/tasks - Create a new task
  • PUT /api/tasks/:id - Update a task
  • DELETE /api/tasks/:id - Delete a task

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages