ABA


"תחילתו של פרוייקט החלפת באנרים"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #13662 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13662
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   16:15   10.03.08   
אל הפורום  
  תחילתו של פרוייקט החלפת באנרים  
 
   עבר עריכה לאחרונה בתאריך 11.03.08 בשעה 19:20 על-ידי Ice Cold (מנהל הפורום)
 
באמצעות פרוייקט זה, אני אנסה להדגים לכם את כוחה של מערכת התשתית שפיתחתי.
מערכת התשתית למעשה יכולה לאפשר הרצה של כמה אתרים תחת דומיין אחד, כמובן שהכתובת תהיה שונה מעט.
מערכת הבאנרים תרוץ תחרת http://www.rdy.co.il ותפעל כאתר בפני עצמה עם עיצוב שונה אך בשיתוף של רשומים עם כלל אתרי רשת RDY.

זה האפיון הכללי, אשמח לשמוע את תגובותיכם בנוגע לאפיון המערכת:
http://rotter.name/User_files/nor/47d6be9f54ad5cac.doc

אני אתחיל לעבוד היום בערב על סקיצה ראשונית של המערכת (דף ראשי, פאנל ניהול).

תודה למגיבים


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  המ.. כמה דברים: Ice Cold  10.03.08 16:41 1
     מכתב MoonHunter 10.03.08 16:51 2
         היות ואתה רוצה לחפש MANY TO MANY, לא חושב ש-LIKE יעזור Ice Cold  10.03.08 17:31 3
             אז מה אתה ממליץ? MoonHunter 10.03.08 18:06 4
                 למצוא איזה אלגוריתם שיחפש לך MANY TO MANY Ice Cold  10.03.08 19:03 5
                     וואי וואי MoonHunter 10.03.08 19:22 6
                         אני בדיוק מדבר על זה שהמשתמש יזין. Ice Cold  11.03.08 12:32 7
                             אוקי MoonHunter 11.03.08 17:30 8
  מסדי נתונים + הסבר MoonHunter 11.03.08 19:15 9
  שיהיה בהצלחה אחי! icq2 12.03.08 02:10 10
  לוגו התחלתי MoonHunter 16.03.08 07:39 11
  עדכון עיצוב: MoonHunter 30.03.01 16:31 12
  עדכון מצב קוד: MoonHunter 30.03.01 16:40 13
  עדכון, שאילתת עדכון :] MoonHunter 31.03.08 18:04 14

       
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   16:41   10.03.08   
אל הפורום  
  1. המ.. כמה דברים:  
בתגובה להודעה מספר 0
 
הייתי מציע לך להקיש מילות מפתח לכל אתר, ופרסומות דומות שיילקחו מהאוסף הכי רלוונטי של מילות מפתח, ולאו דווקא לקטגוריה...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   16:51   10.03.08   
אל הפורום  
  2. מכתב  
בתגובה להודעה מספר 1
 
   קיבלתי, אבל אני לא אתן את זה במקום, אני אתן אפשרות סינון לפי מילות חיפוש בקטגוריות הספציפיות או רק סינון ע"פ מילות חיפוש.

אתה גם מציע שאני אפתח איזה אלגוריטם למציאת מילים דומות או שפשוט לבצע חיפוש like %% רגיל?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   17:31   10.03.08   
אל הפורום  
  3. היות ואתה רוצה לחפש MANY TO MANY, לא חושב ש-LIKE יעזור  
בתגובה להודעה מספר 2
 
לך פה...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   18:06   10.03.08   
אל הפורום  
  4. אז מה אתה ממליץ?  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   19:03   10.03.08   
אל הפורום  
  5. למצוא איזה אלגוריתם שיחפש לך MANY TO MANY  
בתגובה להודעה מספר 4
 
מילות מפתח מרובות של האתר שלך מול מילות מפתח מרובות של האתרים האחרים, ולהגיע לאיזהשהוא דירוג מסויים, ואז תחליט אם הפסרומת רלוונטית לאתר שלך או לא... בסגנון ADSENSE כזה...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   19:22   10.03.08   
אל הפורום  
  6. וואי וואי  
בתגובה להודעה מספר 5
 
   אני כבר חשבתי שהמשתמש יזין את מילות החיפוש הרלוונטיות.
מה שאתה אומר בעצם זה לעשות פארסינג לאתר ולבדוק מהם מילות המפתח שיש בתגית המטה\כותרת הדף..

יש לך\מכיר משהו בסגנון?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   12:32   11.03.08   
אל הפורום  
  7. אני בדיוק מדבר על זה שהמשתמש יזין.  
בתגובה להודעה מספר 6
 
כל משתמש יזין את מילות המפתח שלו. ואז המערכת תצליב בין מילות המפתח של האתר שלו לבין מילות המפתח של האתרים האחרים כדי לראות איזו פרסומת הכי מתאימה לו.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   17:30   11.03.08   
אל הפורום  
  8. אוקי  
בתגובה להודעה מספר 7
 
   עכשיו, תוכל לתת לי דוגמא למשהו כזה?
הדרך היחידה שעולה לי בראש היא לתת אפשרות של הזנת 255 תווים לצורך מילות מפתח (מופרדות ב,) ואז אני אשתמש בlike בשביל למצא התאמות רלוונטיות.
כמובן שאני אצטרך לעשות את זה על כל המילים שהמשתמש מזין.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   19:15   11.03.08   
אל הפורום  
  9. מסדי נתונים + הסבר  
בתגובה להודעה מספר 0
 
   אלו השדות הבסיסיים המופיעים בכל טבלה שאני יוצר (קשור בתשתית המערכת, אני לא ארחיב על הנושא):

CREATE TABLE `global_table` (
`id` int(11) unsigned NOT NULL auto_increment,
`created` datetime NOT NULL,
`created_by` int(11) NOT NULL default '0',
`state` tinyint(1) NOT NULL default '1',
`timestamp` int(11) NOT NULL default '0',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`modified_by` int(11) NOT NULL default '0',
`checked_out` int(32) NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=0 ;

טבלאות המשתמשים (אין כאן את השדות מלמעלה)


CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(30) collate utf8_bin NOT NULL default '',
`password` varchar(32) collate utf8_bin default NULL,
`email` varchar(50) collate utf8_bin default NULL,
`ban` tinyint(4) NOT NULL default '0',
`timestamp` int(11) unsigned NOT NULL default '0',
`regdate` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`sendmail` tinyint(4) NOT NULL default '0',
`activation` varchar(100) collate utf8_bin NOT NULL default '',
`site_1` tinyint(4) NOT NULL default '1',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

בשביל להוסיף שטחי פרסום, יש צורך תחילה בהוספת אתר אל המערכת:
catid - הקטגוריה אלייה משוייך האתר.


CREATE TABLE `rdy_banner_sites_items` (
`id` int(11) unsigned NOT NULL auto_increment,
`catid` int(11) NOT NULL,
`name` varchar(32) collate utf8_bin NOT NULL,
`description` varchar(255) collate utf8_bin NOT NULL,
`address` varchar(255) collate utf8_bin NOT NULL,
`metaKeywords` varchar(255) collate utf8_bin NOT NULL default '0',
`created` datetime NOT NULL,
`created_by` int(11) NOT NULL default '0',
`state` tinyint(1) NOT NULL default '1',
`timestamp` int(11) NOT NULL default '0',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`modified_by` int(11) NOT NULL default '0',
`checked_out` int(32) NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `metaKeywords` (`metaKeywords`),
KEY `catid` (`catid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

טבלת שטחי הפרסום, כמובן שכל שטח משוייך לאתר:
catid - הקטגוריה אלייה משוייך שטח הפרסום (ברירת מחדל אך ניתן לשינוי, תבחר הקטגוריה אלייה שייך האתר).
adv_site_id - לאיזה אתר משוייך שטח זה.
allowFreeAds - אפשר פרסום בתמורה לקרדית רגיל.
advDaysPeriod\advPayment - תקופה מינימאלית ותשלום בעבורה.


CREATE TABLE `rdy_banner_sites_slots_items` (
`id` int(11) unsigned NOT NULL auto_increment,
`catid` int(11) NOT NULL,
`adv_site_id` int(11) NOT NULL default '0',
`name` varchar(32) collate utf8_bin NOT NULL,
`description` varchar(255) collate utf8_bin NOT NULL,
`address` varchar(255) collate utf8_bin NOT NULL,
`bannerType` int(11) NOT NULL default '1',
`allowFreeAds` int(1) NOT NULL default '1',
`advDaysPeriod` int(11) NOT NULL default '0',
`advPayment` int(11) NOT NULL default '0',
`totalCredit` int(11) NOT NULL,
`totalFreeCredit` int(11) NOT NULL,
`totalExposure` int(11) NOT NULL default '0',
`totlaClicks` int(11) NOT NULL default '0',
`created` datetime NOT NULL,
`created_by` int(11) NOT NULL default '0',
`state` tinyint(1) NOT NULL default '1',
`timestamp` int(11) NOT NULL default '0',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`modified_by` int(11) NOT NULL default '0',
`checked_out` int(32) NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `catid` (`catid`),
KEY `adv_site_id` (`adv_site_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

כעט, טבלת הקמפיינים, בכדי לפרסם בשטח פרסום יש צורך ביצירת קמפיין:
creditsAllocating - סה"כ קרדית (בתשלום\נרכש) מוקצה.
freeCreditsAllocating - סה"כ קרדית מוקצה.
remainCredits - קרדית (בתשלום\נרכש) שנותר.
remainFreeCredits - קרדית שנותר.


CREATE TABLE `rdy_banner_campaign_items` (
`id` int(11) unsigned NOT NULL auto_increment,
`name` varchar(32) collate utf8_bin NOT NULL,
`description` varchar(255) collate utf8_bin NOT NULL,
`creditsAllocating` int(11) NOT NULL default '0',
`freeCreditsAllocating` int(11) NOT NULL default '0',
`remainCredits` int(11) NOT NULL default '0',
`remainFreeCredits` int(11) NOT NULL default '0',
`created` datetime NOT NULL,
`created_by` int(11) NOT NULL default '0',
`state` tinyint(1) NOT NULL default '1',
`timestamp` int(11) NOT NULL default '0',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`modified_by` int(11) NOT NULL default '0',
`checked_out` int(32) NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

לכל קמפיין יש צורך בבחירת מקומות פרסום:
totalExposure - חשיפה בסה"כ.
totalClicks - לחיצות בסה"כ.
adv_campaign_id - משייך את השטח לקמפיין.
adv_site_id - משייך את השטח לאתר.
totalCostCredits - עלות כללית של הפרסום.
totalDaysExposure - סה"כ ימי חשיפה.
expDate - תוקף הפרסום.


CREATE TABLE `rdy_banner_campaign_slots_items` (
`id` int(11) unsigned NOT NULL auto_increment,
`adv_campaign_id` int(11) NOT NULL default '0',
`adv_site_id` int(11) NOT NULL default '0',
`totalExposure` int(11) NOT NULL,
`totalClicks` int(11) NOT NULL,
`bannerImage` varchar(255) collate utf8_bin NOT NULL,
`referLink` varchar(255) collate utf8_bin NOT NULL,
`totalCostCredits` int(11) NOT NULL,
`totalDaysExposure` int(11) NOT NULL,
`expDate` date NOT NULL,
`created` datetime NOT NULL,
`created_by` int(11) NOT NULL default '0',
`state` tinyint(1) NOT NULL default '1',
`timestamp` int(11) NOT NULL default '0',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`modified_by` int(11) NOT NULL default '0',
`checked_out` int(32) NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `adv_campaign_id` (`adv_campaign_id`),
KEY `adv_site_id` (`adv_site_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

עכשיו לטבלה הסופית, זו שתחזיק את המידע הרלוונטי של המשתמש:
totalEarnedCredits - סה"כ קרדית (לא חינמי).
totalEarnedFreeCredits - סה"כ קרדית (חינמי).
remainCredits - קרדית שנותר (ניתן למימוש כתשלום או כשימוש בשטחי פרסום).
remainFreeCredits - קרדית שנותר (חינמי)
remainPurchaseCredits - קרדית שנותר (קרדית שהמשתמש רכש בעצמו)


CREATE TABLE `rdy_banner_items` (
`id` int(11) unsigned NOT NULL auto_increment,
`totalEarnedCredits` int(11) NOT NULL,
`totalEarnedFreeCredits` int(11) NOT NULL,
`remainCredits` int(11) NOT NULL,
`remainFreeCredits` int(11) NOT NULL,
`remainPurchaseCredits` int(11) NOT NULL,
`created` datetime NOT NULL,
`created_by` int(11) NOT NULL default '0',
`state` tinyint(1) NOT NULL default '1',
`timestamp` int(11) NOT NULL default '0',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`modified_by` int(11) NOT NULL default '0',
`checked_out` int(32) NOT NULL default '0',
`checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

אשמח לשמוע את דעתכם בנושא


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
icq2

   02:10   12.03.08   
אל הפורום  
  10. שיהיה בהצלחה אחי!  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   07:39   16.03.08   
אל הפורום  
  11. לוגו התחלתי  
בתגובה להודעה מספר 0
 
   האמת שהרעיון לא מקורי כ"כ וממומש בהרבה אתרי החלפת באנרים, אני מקווה שתסלחו כי עיצוב זה לא הצד החזק שלי.

http://rotter.name/User_files/nor/47dcb28216867cb7.jpg


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   16:31   30.03.01   
אל הפורום  
  12. עדכון עיצוב:  
בתגובה להודעה מספר 0
 
   זה העמוד הראשי, עדיין לא גמור כמובן:
http://rotter.name/User_files/nor/graphics/3ac48a8609f700cc.jpg


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   16:40   30.03.01   
אל הפורום  
  13. עדכון מצב קוד:  
בתגובה להודעה מספר 0
 
   ראשית למי שלא הבין, הרעיון הוא אתר החלפת באנרים.
כל מי שיש לו אתר, יכל לבא ולהוסיף אותו למערכת, לאחר שהאתר התווסף אל המערכת ניתן ליצור ולהוסיף כמה באנרים שרוצים לאתר.
למעשה כל באנר שיוצרים לאתר נקרא למעשה סלוט פרסום.
בנוסף, בכדי לפרסם יש ליצור קמפיין ולהקצות לו משאבים, ניתן להגדיר כי הקמפיין יקח משאבים ישירות מחשבונו של המשתמש או במילים אחרות קמפיים מוגבל משאבים או ללא הגבלה.
לאחר שיצרנו קמפיים, יש צורך לבחור מקומות פרסום, כלומר סלוטים.
ניתן להגביל כל סלוט במשאבים או להשאיר אותו ללא הגבלה כמובן שהפרסום יפסק כאשר יגמר התקציב של המפרסם.

החלטתי לכתוב פונקציות ולעדכן אותכם במצבן:
(מדובק בצד התיכנותי ולא הGUI שיוצג למשתמש)
הרשמה לשירות - גמור
עמוד ראשי - גמור.
פאנל ניהול עמוד ראשי - גמור.
פאנל ניהול, תצוגת אתרים - גמור.
פאנל ניהול, מחיקת\הוספת אתרים - גמור.
פאנל ניהול, תצוגת אתרים, תצוגת סלוטים - גמור
פאנל ניהול, תצוגת אתרים, מחיקת\הוספת סלוטים - גמור
פאנל ניהול, תצוגת קמפיינים - גמור
פאנל ניהול, תצוגת קמפיינים, תצוגת מקומות בהם מתפרסם הקמפיין - גמור.
--
נשאר להוסיף
פאנל ניהול, מחיקת קמפיינים
פאנל ניהול, תצוגת קמפיינים, הסרת מקומות פרסום.
--

מעבר לכל אני עדיין עובד על שאר התהליכים, כמו פריים פרסום, עבודה עם קרדית פרסומי בתשלום וחינמי ועוד.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   18:04   31.03.08   
אל הפורום  
  14. עדכון, שאילתת עדכון :]  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 31.03.08 בשעה 18:04 בברכה, MoonHunter
 
הריי ניתן לפרסם בסלוטים של פרסום במשך התקופה שקבע בעל שטח האחסון, כעט אפשר לרכוש כמה תקופות שכאלו.

התשלום לא יועבר במלואו אל בעל שטח האחסון, אלא הוא יועבר עם סיום כל תקופה.
כך למעשה נמנע מבעלי שטח פרסום "לברוח".

זו שאילתת העדכון שלי, דיי מסובכת


UPDATE rdy_banner_campaign_slots_items AS campSlot
RIGHT JOIN rdy_banner_sites_slots_items AS siteSlot ON siteSlot.id = campSlot.adv_site_slot_id
RIGHT JOIN rdy_banner_items AS user ON user.created_by = campSlot.created_by
SET
campSlot.currentPurchase = currentPurchase+1,
campSlot.expOfPurchase = DATE_ADD( campSlot.expOfPurchase,INTERVAL campSlot.advDaysPeriod DAY),
siteSlot.totalCredit = siteSlot.totalCredit+campSlot.advPayment,
user.remainCredits = user.remainCredits+campSlot.advPayment
WHERE campSlot.amountOfPurchase+1>campSlot.currentPurchase
AND expOfPurchase < 2008-03-31

campSlot.amountOfPurchase - מייצג את כמות התקופות שרכשנו
campSlot.currentPurchase - מייצג את התקופה בה אנחנו נמצאים
campSlot.expOfPurchase - תאריך סיום התקופה הנוכחית
siteSlot.totalCredit - סה"כ קרדיט שהסלוט הזה הרוויח
user.remainCredits - קרדיט שנשאר למשתמש.

למעשה אני מחפש סלוטים של פרסום שהתקופה הנוכחית שלהם היא פגה ושיש להם עוד תקופות פרסום לא ממומשות.
במצב כזה, אני מעדכן את התקופה ב+1, בנוסף אני מעדכן את תאריך התוקף בכמות הימים הדרושה. מעביר למשתמש את התשלום שלו ומוסיף את התשלום הזה כסטטיסטיקה של הסלוט.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net