Skip to content

Latest commit

 

History

119 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

1 star

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages