דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. קטגוריות בהרצה
  3. תכנות
  4. בינה מלאכותית - AI
  5. עזרה הדדית - בינה מלאכותית
  6. שאלה | שאלה על שפת קוד בתוכנה Web App

שאלה | שאלה על שפת קוד בתוכנה Web App

מתוזמן נעוץ נעול הועבר לא נפתר עזרה הדדית - בינה מלאכותית
13 פוסטים 7 כותבים 252 צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • L Les

    @נעזר1000 כן, ראיתי שיש גישה לקוד, אלא שאני לא מבין בקודים, לכן שאלתי באיזה שפה הוא משתמש.

    א מנותק
    א מנותק
    ארץ הצבי
    מורחק
    כתב נערך לאחרונה על ידי
    #4

    @Les
    תעלה את הקוד

    L תגובה 1 תגובה אחרונה
    0
    • א ארץ הצבי

      @Les
      תעלה את הקוד

      L מנותק
      L מנותק
      Les
      כתב נערך לאחרונה על ידי Les
      #5

      @ארץ-הצבי

      import React, { useState, useEffect } from 'react';
      import { Family } from '@/entities/Family';
      import { Search, Plus, ChevronLeft, Filter, Download, Upload } from 'lucide-react';
      import FamilyDetailsDialog from '../components/families/FamilyDetailsDialog';

      export default function FamiliesPage() {
      const [families, setFamilies] = useState([]);
      const [filteredFamilies, setFilteredFamilies] = useState([]);
      const [searchTerm, setSearchTerm] = useState('');
      const [loading, setLoading] = useState(true);
      const [selectedFamily, setSelectedFamily] = useState(null);
      const [isDialogOpen, setIsDialogOpen] = useState(false);

      useEffect(() => {
      loadFamilies();

      const urlParams = new URLSearchParams(window.location.search);
      const familyId = urlParams.get('familyId');
      if (familyId) {
        openFamilyById(familyId);
      }
      

      }, []);

      useEffect(() => {
      filterFamilies();
      }, [searchTerm, families]);

      const openFamilyById = async (id) => {
      try {
      const familyList = await Family.list();
      const foundFamily = familyList.find(f => f.id === id);
      if (foundFamily) {
      setSelectedFamily(foundFamily);
      setIsDialogOpen(true);
      }
      } catch (error) {
      console.error("Failed to find family:", error);
      }
      };

      const loadFamilies = async () => {
      try {
      setLoading(true);
      const data = await Family.list();
      data.sort((a, b) => (a.family_name > b.family_name) ? 1 : -1);
      setFamilies(data);
      setFilteredFamilies(data);
      } catch (error) {
      console.error("Failed to load families:", error);
      } finally {
      setLoading(false);
      }
      };

      const filterFamilies = () => {
      let filtered = [...families];

      if (searchTerm) {
        const term = searchTerm.toLowerCase();
        filtered = filtered.filter(family =>
          family.family_name?.toLowerCase().includes(term) ||
          family.husband_name?.toLowerCase().includes(term) ||
          family.wife_name?.toLowerCase().includes(term) ||
          family.address?.toLowerCase().includes(term) ||
          family.husband_phone?.includes(term) ||
          family.wife_phone?.includes(term) ||
          family.email?.toLowerCase().includes(term) ||
          family.husband_id?.includes(term) ||
          family.wife_id?.includes(term)
        );
      }
      
      filtered.sort((a, b) => (a.family_name > b.family_name) ? 1 : -1);
      
      setFilteredFamilies(filtered);
      

      };

      const handleFamilyClick = (family) => {
      setSelectedFamily(family);
      setIsDialogOpen(true);
      };

      const handleAddFamily = () => {
      setSelectedFamily(null);
      setIsDialogOpen(true);
      };

      const handleDialogClose = () => {
      setIsDialogOpen(false);
      setSelectedFamily(null);
      };

      const handleDialogSave = () => {
      loadFamilies();
      setIsDialogOpen(false);
      setSelectedFamily(null);
      };

      const exportToExcel = () => {
      const headers = 'שם משפחה,שם בעל,ת.ז. בעל,טלפון בעל,שם אישה,ת.ז. אישה,טלפון אישה,כתובת,דוא"ל,מצב משפחתי,מספר ילדים,מספר ילדים נשואים,הכנסה חודשית,הוצאה חודשית,סטטוס,הערות,שם מכר,טלפון מכר\n';

      let csvContent = '\ufeff' + headers;
      filteredFamilies.forEach(family => {
        csvContent += `"${family.family_name || ''}","${family.husband_name || ''}","${family.husband_id || ''}","${family.husband_phone || ''}","${family.wife_name || ''}","${family.wife_id || ''}","${family.wife_phone || ''}","${family.address || ''}","${family.email || ''}","${family.marital_status || ''}","${family.num_children || 0}","${family.num_married_children || 0}","${family.monthly_income || 0}","${family.monthly_expenses || 0}","${family.status || ''}","${family.notes || ''}","${family.acquaintance_name || ''}","${family.acquaintance_phone || ''}"\n`;
      });
      
      const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
      const url = URL.createObjectURL(blob);
      const link = document.createElement('a');
      link.setAttribute('href', url);
      link.setAttribute('download', 'משפחות.csv');
      link.style.visibility = 'hidden';
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
      

      };

      const importFromExcel = async (event) => {
      const file = event.target.files[0];
      if (!file) return;

      try {
        alert('מייבא משפחות מקובץ, אנא המתן...');
        
        const fileText = await new Promise((resolve, reject) => {
          const reader = new FileReader();
          reader.onload = (e) => resolve(e.target.result);
          reader.onerror = (e) => reject(e);
          reader.readAsText(file);
        });
        
        const rows = fileText.split('\n');
        const headers = rows[0].split(',').map(h => h.trim().replace(/^"(.*)"$/, '$1'));
        
        const families = [];
        
        for (let i = 1; i < rows.length; i++) {
          if (!rows[i].trim()) continue;
          
          const values = rows[i].split(',').map(v => v.trim().replace(/^"(.*)"$/, '$1'));
          const familyData = {};
          
          headers.forEach((header, index) => {
            familyData[header] = values[index] || '';
          });
          
          families.push(familyData);
        }
        
        let successCount = 0;
        let errorCount = 0;
        
        for (const familyData of families) {
          try {
            await Family.create({
              family_name: familyData['שם משפחה'],
              husband_name: familyData['שם בעל'],
              husband_id: familyData['ת.ז. בעל'],
              husband_phone: familyData['טלפון בעל'],
              wife_name: familyData['שם אישה'],
              wife_id: familyData['ת.ז. אישה'],
              wife_phone: familyData['טלפון אישה'],
              address: familyData['כתובת'],
              email: familyData['דוא"ל'],
              marital_status: familyData['מצב משפחתי'],
              num_children: parseInt(familyData['מספר ילדים'] || '0'),
              num_married_children: parseInt(familyData['מספר ילדים נשואים'] || '0'),
              monthly_income: parseFloat(familyData['הכנסה חודשית'] || '0'),
              monthly_expenses: parseFloat(familyData['הוצאה חודשית'] || '0'),
              status: familyData['סטטוס'] || 'pending',
              notes: familyData['הערות'],
              acquaintance_name: familyData['שם מכר'] || '',
              acquaintance_phone: familyData['טלפון מכר'] || ''
            });
            successCount++;
          } catch (error) {
            console.error('Failed to create family:', familyData, error);
            errorCount++;
          }
        }
      
        alert(`הייבוא הושלם בהצלחה: ${successCount} משפחות נוספו, ${errorCount} שגיאות`);
        loadFamilies();
      } catch (error) {
        console.error('Import failed:', error);
        alert('שגיאה בייבוא הקובץ: ' + error.message);
      }
      
      event.target.value = '';
      

      };

      return (
      <div className="py-8">
      <div className="mb-6">
      <h1 className="text-3xl font-bold mb-6">ניהול משפחות</h1>

          <div className="flex flex-col sm:flex-row justify-between items-start gap-4 mb-6">
            <div className="relative flex-1">
              <Search className="absolute right-3 top-3 h-4 w-4 text-gray-400" />
              <input
                type="search"
                placeholder="חיפוש לפי שם, כתובת, טלפון או אימייל..."
                className="pr-10 w-full p-2 border rounded"
                value={searchTerm}
                onChange={(e) => setSearchTerm(e.target.value)}
              />
            </div>
            <div className="flex gap-2">
              <input
                type="file"
                accept=".xlsx,.xls,.csv"
                onChange={importFromExcel}
                className="hidden"
                id="excel-upload"
              />
              <label
                htmlFor="excel-upload"
                className="bg-green-600 text-white px-4 py-2 rounded-md flex items-center cursor-pointer hover:bg-green-700"
              >
                <Upload className="h-4 w-4 ml-2" />
                ייבוא מאקסל
              </label>
              <button 
                onClick={exportToExcel}
                className="bg-blue-600 text-white px-4 py-2 rounded-md flex items-center hover:bg-blue-700"
              >
                <Download className="h-4 w-4 ml-2" />
                ייצוא CSV
              </button>
              <button 
                onClick={() => window.location.href = '/AdvancedFilter'}
                className="bg-gray-100 text-gray-700 px-4 py-2 rounded-md flex items-center hover:bg-gray-200"
              >
                <Filter className="h-4 w-4 ml-2" />
                סינון מתקדם
              </button>
              <button 
                onClick={handleAddFamily}
                className="bg-blue-600 text-white px-4 py-2 rounded-md flex items-center hover:bg-blue-700"
              >
                <Plus className="h-4 w-4 ml-2" />
                הוסף משפחה
              </button>
            </div>
          </div>
        </div>
      
        {loading ? (
          <div className="flex justify-center items-center h-40">
            <div className="animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900"></div>
          </div>
        ) : (
          <div className="overflow-x-auto">
            <table className="min-w-full bg-white border rounded-lg">
              <thead>
                <tr className="bg-gray-50 text-gray-600 text-right">
                  <th className="py-3 px-4 font-medium">שם משפחה</th>
                  <th className="py-3 px-4 font-medium">שם בעל/אישה</th>
                  <th className="py-3 px-4 font-medium">טלפון</th>
                  <th className="py-3 px-4 font-medium">כתובת</th>
                  <th className="py-3 px-4 font-medium">סטטוס</th>
                  <th className="py-3 px-4 font-medium">פעולות</th>
                </tr>
              </thead>
              <tbody className="divide-y">
                {filteredFamilies.map(family => (
                  <tr 
                    key={family.id} 
                    className="hover:bg-gray-50 cursor-pointer"
                    onClick={() => handleFamilyClick(family)}
                  >
                    <td className="py-3 px-4 font-medium">{family.family_name}</td>
                    <td className="py-3 px-4">{family.husband_name || family.wife_name || '-'}</td>
                    <td className="py-3 px-4">{family.husband_phone || family.wife_phone || '-'}</td>
                    <td className="py-3 px-4">{family.address || '-'}</td>
                    <td className="py-3 px-4">
                      <span className={`inline-block px-2 py-1 rounded-full text-xs
                        ${family.status === 'active' ? 'bg-green-100 text-green-800' :
                          family.status === 'pending' ? 'bg-yellow-100 text-yellow-800' :
                          family.status === 'inactive' ? 'bg-gray-100 text-gray-800' :
                          'bg-blue-100 text-blue-800'}`}>
                        {family.status === 'active' ? 'פעיל' :
                         family.status === 'pending' ? 'ממתין' :
                         family.status === 'inactive' ? 'לא פעיל' :
                         family.status}
                      </span>
                    </td>
                    <td className="py-3 px-4">
                      <button
                        onClick={(e) => {
                          e.stopPropagation();
                          handleFamilyClick(family);
                        }}
                        className="text-blue-600 hover:text-blue-800 flex items-center"
                      >
      

      }

      א תגובה 1 תגובה אחרונה
      0
      • L Les

        @ארץ-הצבי

        import React, { useState, useEffect } from 'react';
        import { Family } from '@/entities/Family';
        import { Search, Plus, ChevronLeft, Filter, Download, Upload } from 'lucide-react';
        import FamilyDetailsDialog from '../components/families/FamilyDetailsDialog';

        export default function FamiliesPage() {
        const [families, setFamilies] = useState([]);
        const [filteredFamilies, setFilteredFamilies] = useState([]);
        const [searchTerm, setSearchTerm] = useState('');
        const [loading, setLoading] = useState(true);
        const [selectedFamily, setSelectedFamily] = useState(null);
        const [isDialogOpen, setIsDialogOpen] = useState(false);

        useEffect(() => {
        loadFamilies();

        const urlParams = new URLSearchParams(window.location.search);
        const familyId = urlParams.get('familyId');
        if (familyId) {
          openFamilyById(familyId);
        }
        

        }, []);

        useEffect(() => {
        filterFamilies();
        }, [searchTerm, families]);

        const openFamilyById = async (id) => {
        try {
        const familyList = await Family.list();
        const foundFamily = familyList.find(f => f.id === id);
        if (foundFamily) {
        setSelectedFamily(foundFamily);
        setIsDialogOpen(true);
        }
        } catch (error) {
        console.error("Failed to find family:", error);
        }
        };

        const loadFamilies = async () => {
        try {
        setLoading(true);
        const data = await Family.list();
        data.sort((a, b) => (a.family_name > b.family_name) ? 1 : -1);
        setFamilies(data);
        setFilteredFamilies(data);
        } catch (error) {
        console.error("Failed to load families:", error);
        } finally {
        setLoading(false);
        }
        };

        const filterFamilies = () => {
        let filtered = [...families];

        if (searchTerm) {
          const term = searchTerm.toLowerCase();
          filtered = filtered.filter(family =>
            family.family_name?.toLowerCase().includes(term) ||
            family.husband_name?.toLowerCase().includes(term) ||
            family.wife_name?.toLowerCase().includes(term) ||
            family.address?.toLowerCase().includes(term) ||
            family.husband_phone?.includes(term) ||
            family.wife_phone?.includes(term) ||
            family.email?.toLowerCase().includes(term) ||
            family.husband_id?.includes(term) ||
            family.wife_id?.includes(term)
          );
        }
        
        filtered.sort((a, b) => (a.family_name > b.family_name) ? 1 : -1);
        
        setFilteredFamilies(filtered);
        

        };

        const handleFamilyClick = (family) => {
        setSelectedFamily(family);
        setIsDialogOpen(true);
        };

        const handleAddFamily = () => {
        setSelectedFamily(null);
        setIsDialogOpen(true);
        };

        const handleDialogClose = () => {
        setIsDialogOpen(false);
        setSelectedFamily(null);
        };

        const handleDialogSave = () => {
        loadFamilies();
        setIsDialogOpen(false);
        setSelectedFamily(null);
        };

        const exportToExcel = () => {
        const headers = 'שם משפחה,שם בעל,ת.ז. בעל,טלפון בעל,שם אישה,ת.ז. אישה,טלפון אישה,כתובת,דוא"ל,מצב משפחתי,מספר ילדים,מספר ילדים נשואים,הכנסה חודשית,הוצאה חודשית,סטטוס,הערות,שם מכר,טלפון מכר\n';

        let csvContent = '\ufeff' + headers;
        filteredFamilies.forEach(family => {
          csvContent += `"${family.family_name || ''}","${family.husband_name || ''}","${family.husband_id || ''}","${family.husband_phone || ''}","${family.wife_name || ''}","${family.wife_id || ''}","${family.wife_phone || ''}","${family.address || ''}","${family.email || ''}","${family.marital_status || ''}","${family.num_children || 0}","${family.num_married_children || 0}","${family.monthly_income || 0}","${family.monthly_expenses || 0}","${family.status || ''}","${family.notes || ''}","${family.acquaintance_name || ''}","${family.acquaintance_phone || ''}"\n`;
        });
        
        const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
        const url = URL.createObjectURL(blob);
        const link = document.createElement('a');
        link.setAttribute('href', url);
        link.setAttribute('download', 'משפחות.csv');
        link.style.visibility = 'hidden';
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
        

        };

        const importFromExcel = async (event) => {
        const file = event.target.files[0];
        if (!file) return;

        try {
          alert('מייבא משפחות מקובץ, אנא המתן...');
          
          const fileText = await new Promise((resolve, reject) => {
            const reader = new FileReader();
            reader.onload = (e) => resolve(e.target.result);
            reader.onerror = (e) => reject(e);
            reader.readAsText(file);
          });
          
          const rows = fileText.split('\n');
          const headers = rows[0].split(',').map(h => h.trim().replace(/^"(.*)"$/, '$1'));
          
          const families = [];
          
          for (let i = 1; i < rows.length; i++) {
            if (!rows[i].trim()) continue;
            
            const values = rows[i].split(',').map(v => v.trim().replace(/^"(.*)"$/, '$1'));
            const familyData = {};
            
            headers.forEach((header, index) => {
              familyData[header] = values[index] || '';
            });
            
            families.push(familyData);
          }
          
          let successCount = 0;
          let errorCount = 0;
          
          for (const familyData of families) {
            try {
              await Family.create({
                family_name: familyData['שם משפחה'],
                husband_name: familyData['שם בעל'],
                husband_id: familyData['ת.ז. בעל'],
                husband_phone: familyData['טלפון בעל'],
                wife_name: familyData['שם אישה'],
                wife_id: familyData['ת.ז. אישה'],
                wife_phone: familyData['טלפון אישה'],
                address: familyData['כתובת'],
                email: familyData['דוא"ל'],
                marital_status: familyData['מצב משפחתי'],
                num_children: parseInt(familyData['מספר ילדים'] || '0'),
                num_married_children: parseInt(familyData['מספר ילדים נשואים'] || '0'),
                monthly_income: parseFloat(familyData['הכנסה חודשית'] || '0'),
                monthly_expenses: parseFloat(familyData['הוצאה חודשית'] || '0'),
                status: familyData['סטטוס'] || 'pending',
                notes: familyData['הערות'],
                acquaintance_name: familyData['שם מכר'] || '',
                acquaintance_phone: familyData['טלפון מכר'] || ''
              });
              successCount++;
            } catch (error) {
              console.error('Failed to create family:', familyData, error);
              errorCount++;
            }
          }
        
          alert(`הייבוא הושלם בהצלחה: ${successCount} משפחות נוספו, ${errorCount} שגיאות`);
          loadFamilies();
        } catch (error) {
          console.error('Import failed:', error);
          alert('שגיאה בייבוא הקובץ: ' + error.message);
        }
        
        event.target.value = '';
        

        };

        return (
        <div className="py-8">
        <div className="mb-6">
        <h1 className="text-3xl font-bold mb-6">ניהול משפחות</h1>

            <div className="flex flex-col sm:flex-row justify-between items-start gap-4 mb-6">
              <div className="relative flex-1">
                <Search className="absolute right-3 top-3 h-4 w-4 text-gray-400" />
                <input
                  type="search"
                  placeholder="חיפוש לפי שם, כתובת, טלפון או אימייל..."
                  className="pr-10 w-full p-2 border rounded"
                  value={searchTerm}
                  onChange={(e) => setSearchTerm(e.target.value)}
                />
              </div>
              <div className="flex gap-2">
                <input
                  type="file"
                  accept=".xlsx,.xls,.csv"
                  onChange={importFromExcel}
                  className="hidden"
                  id="excel-upload"
                />
                <label
                  htmlFor="excel-upload"
                  className="bg-green-600 text-white px-4 py-2 rounded-md flex items-center cursor-pointer hover:bg-green-700"
                >
                  <Upload className="h-4 w-4 ml-2" />
                  ייבוא מאקסל
                </label>
                <button 
                  onClick={exportToExcel}
                  className="bg-blue-600 text-white px-4 py-2 rounded-md flex items-center hover:bg-blue-700"
                >
                  <Download className="h-4 w-4 ml-2" />
                  ייצוא CSV
                </button>
                <button 
                  onClick={() => window.location.href = '/AdvancedFilter'}
                  className="bg-gray-100 text-gray-700 px-4 py-2 rounded-md flex items-center hover:bg-gray-200"
                >
                  <Filter className="h-4 w-4 ml-2" />
                  סינון מתקדם
                </button>
                <button 
                  onClick={handleAddFamily}
                  className="bg-blue-600 text-white px-4 py-2 rounded-md flex items-center hover:bg-blue-700"
                >
                  <Plus className="h-4 w-4 ml-2" />
                  הוסף משפחה
                </button>
              </div>
            </div>
          </div>
        
          {loading ? (
            <div className="flex justify-center items-center h-40">
              <div className="animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900"></div>
            </div>
          ) : (
            <div className="overflow-x-auto">
              <table className="min-w-full bg-white border rounded-lg">
                <thead>
                  <tr className="bg-gray-50 text-gray-600 text-right">
                    <th className="py-3 px-4 font-medium">שם משפחה</th>
                    <th className="py-3 px-4 font-medium">שם בעל/אישה</th>
                    <th className="py-3 px-4 font-medium">טלפון</th>
                    <th className="py-3 px-4 font-medium">כתובת</th>
                    <th className="py-3 px-4 font-medium">סטטוס</th>
                    <th className="py-3 px-4 font-medium">פעולות</th>
                  </tr>
                </thead>
                <tbody className="divide-y">
                  {filteredFamilies.map(family => (
                    <tr 
                      key={family.id} 
                      className="hover:bg-gray-50 cursor-pointer"
                      onClick={() => handleFamilyClick(family)}
                    >
                      <td className="py-3 px-4 font-medium">{family.family_name}</td>
                      <td className="py-3 px-4">{family.husband_name || family.wife_name || '-'}</td>
                      <td className="py-3 px-4">{family.husband_phone || family.wife_phone || '-'}</td>
                      <td className="py-3 px-4">{family.address || '-'}</td>
                      <td className="py-3 px-4">
                        <span className={`inline-block px-2 py-1 rounded-full text-xs
                          ${family.status === 'active' ? 'bg-green-100 text-green-800' :
                            family.status === 'pending' ? 'bg-yellow-100 text-yellow-800' :
                            family.status === 'inactive' ? 'bg-gray-100 text-gray-800' :
                            'bg-blue-100 text-blue-800'}`}>
                          {family.status === 'active' ? 'פעיל' :
                           family.status === 'pending' ? 'ממתין' :
                           family.status === 'inactive' ? 'לא פעיל' :
                           family.status}
                        </span>
                      </td>
                      <td className="py-3 px-4">
                        <button
                          onClick={(e) => {
                            e.stopPropagation();
                            handleFamilyClick(family);
                          }}
                          className="text-blue-600 hover:text-blue-800 flex items-center"
                        >
        

        }

        א מנותק
        א מנותק
        ארץ הצבי
        מורחק
        כתב נערך לאחרונה על ידי
        #6

        @Les
        JavaScript

        L NH.LOCALN 2 תגובות תגובה אחרונה
        0
        • א ארץ הצבי

          @Les
          JavaScript

          L מנותק
          L מנותק
          Les
          כתב נערך לאחרונה על ידי
          #7

          @ארץ-הצבי
          תודה.

          נ תגובה 1 תגובה אחרונה
          0
          • L Les

            @ארץ-הצבי
            תודה.

            נ מנותק
            נ מנותק
            נעזר1000
            כתב נערך לאחרונה על ידי
            #8

            @Les
            השאלה האם זה הקוד המלא
            אם המוצר הוא אתר אז ברור שש שם JS השאלה היא האם יש גם צד שרת? וצריך להבין האם הם מאפשרים גישה גם לקוד של השרת.
            תרצה לספר לנו מה המוצר?

            L תגובה 1 תגובה אחרונה
            0
            • נ נעזר1000

              @Les
              השאלה האם זה הקוד המלא
              אם המוצר הוא אתר אז ברור שש שם JS השאלה היא האם יש גם צד שרת? וצריך להבין האם הם מאפשרים גישה גם לקוד של השרת.
              תרצה לספר לנו מה המוצר?

              L מנותק
              L מנותק
              Les
              כתב נערך לאחרונה על ידי
              #9

              @נעזר1000
              המוצר שאני עשיתי זה ניהול תמיכות עבור ארגוני צדקה.
              לגבי מה שכתבת, אני שאלתי אותם
              ש. לאחר שאני גומר לבנות את האפליקציה, היא יושבת תמיד אצלכם, או שאני יכול להקים אתר עם דומיין פרטי?
              התשובה שהם ענו לי: אתה יכול לבחור - אתה יכול שהיא תהיה אצלנו תחת דומיין פרטי. אם אתה מעוניין אתה גם יכול לחלץ את הקוד ולשים על שרתים שלך.

              צדיק תמיםצ תגובה 1 תגובה אחרונה
              0
              • L Les

                @נעזר1000
                המוצר שאני עשיתי זה ניהול תמיכות עבור ארגוני צדקה.
                לגבי מה שכתבת, אני שאלתי אותם
                ש. לאחר שאני גומר לבנות את האפליקציה, היא יושבת תמיד אצלכם, או שאני יכול להקים אתר עם דומיין פרטי?
                התשובה שהם ענו לי: אתה יכול לבחור - אתה יכול שהיא תהיה אצלנו תחת דומיין פרטי. אם אתה מעוניין אתה גם יכול לחלץ את הקוד ולשים על שרתים שלך.

                צדיק תמיםצ מנותק
                צדיק תמיםצ מנותק
                צדיק תמים
                מדריכים
                כתב נערך לאחרונה על ידי
                #10

                @Les כתב בשאלה | שאלה על שפת קוד בתוכנה Web App:

                אם אתה מעוניין אתה גם יכול לחלץ את הקוד ולשים על שרתים שלך.

                לא נראה לי שהכוונה לצד שרת

                רוצה לזכור קריאת שמע בזמן? לחץ כאן! || אתר שכולו מדריכים

                A תגובה 1 תגובה אחרונה
                0
                • צדיק תמיםצ צדיק תמים

                  @Les כתב בשאלה | שאלה על שפת קוד בתוכנה Web App:

                  אם אתה מעוניין אתה גם יכול לחלץ את הקוד ולשים על שרתים שלך.

                  לא נראה לי שהכוונה לצד שרת

                  A מנותק
                  A מנותק
                  aiib
                  כתב נערך לאחרונה על ידי
                  #11

                  @צדיק-תמים מה באמת ניתן לבנות עם הכלי הזה?
                  אני משקיע הרבה זמן לבנות מערכת של ניהול גמ"ח עם עשרות סניפים מערכת בקרה, התראות, הודעות בהשאלה ולמאחרים וכדו'
                  האם הכלי הזה יכול לעשות כזה דבר או שהוא רק דפי נחיתה וכדו'?

                  ג תגובה 1 תגובה אחרונה
                  0
                  • א ארץ הצבי

                    @Les
                    JavaScript

                    NH.LOCALN מנותק
                    NH.LOCALN מנותק
                    NH.LOCAL
                    מדריכים
                    כתב נערך לאחרונה על ידי
                    #12

                    @ארץ-הצבי כתב בשאלה | שאלה על שפת קוד בתוכנה Web App:

                    @Les
                    JavaScript

                    JS + React. זה דורש צד שרת להפעלה

                    לכל הפרוייקטים שלי
                    https://nhlocal.github.io

                    תגובה 1 תגובה אחרונה
                    0
                    • A aiib

                      @צדיק-תמים מה באמת ניתן לבנות עם הכלי הזה?
                      אני משקיע הרבה זמן לבנות מערכת של ניהול גמ"ח עם עשרות סניפים מערכת בקרה, התראות, הודעות בהשאלה ולמאחרים וכדו'
                      האם הכלי הזה יכול לעשות כזה דבר או שהוא רק דפי נחיתה וכדו'?

                      ג מנותק
                      ג מנותק
                      גשר
                      כתב נערך לאחרונה על ידי
                      #13

                      @aiib כתב בשאלה | שאלה על שפת קוד בתוכנה Web App:

                      @צדיק-תמים מה באמת ניתן לבנות עם הכלי הזה?
                      אני משקיע הרבה זמן לבנות מערכת של ניהול גמ"ח עם עשרות סניפים מערכת בקרה, התראות, הודעות בהשאלה ולמאחרים וכדו'
                      האם הכלי הזה יכול לעשות כזה דבר או שהוא רק דפי נחיתה וכדו'?

                      אפשר לעשות הרבה, ואני מאמין שגם ישתפר עם הזמן, כדאי שיהיה לך הבנה בסיסית באיך שהדברים עובדים (מושגים בסיסיים בתכנות), כיוון שיש הרבה דברים שתנסה לעשות שלא יעבדו בדרך שבה התכוונת, וכך תוכל להסביר את עצמך יותר ברור.

                      כמו כל דבר ובמיוחד בתכנות הדרך היחידה להבין היא בלנסות, ולנסות הרבה.

                      אם מה שאתה בונה הוא מאוד מורכב יתכן שתרצה מתכנת שייעץ לך מה המבנה הנכון לאפליקציה שלך.

                      תגובה 1 תגובה אחרונה
                      1

                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • חוקי הפורום
                      • פופולרי
                      • לא נפתר
                      • משתמשים
                      • חיפוש גוגל בפורום
                      • צור קשר