באמצעות פרוייקט זה, אני אנסה להדגים לכם את כוחה של מערכת התשתית שפיתחתי.
מערכת התשתית למעשה יכולה לאפשר הרצה של כמה אתרים תחת דומיין אחד, כמובן שהכתובת תהיה שונה מעט.
מערכת הבאנרים תרוץ תחרת http://www.rdy.co.il ותפעל כאתר בפני עצמה עם עיצוב שונה אך בשיתוף של רשומים עם כלל אתרי רשת RDY.
זה האפיון הכללי, אשמח לשמוע את תגובותיכם בנוגע לאפיון המערכת:
אפיון מערכת החלפת באנרים.
אתר המאפשר להרשם כשטח פרסום או כמפרסם, הפרסום יבוצע ע"י שימוש בקרדית.
ניתן להשיג קרדית באמצעות פרסום הדדי או רכישת קרדית בתשלום.
קרדית בתשלום שניצבר ינתן בשיק.
(העתקה מוורד לא עובדת, עיגולים שחורים=רמה 1, עיגולים ריקים=רמה 2, סימני שאלה=רמה 3)
• הרשמה בסיסית:
o שם משתמש
o סיסמא
o כתובת מייל
• פאנל הוספת אתרים כאתר פרסומי:
o שיוך אתר לקטגוריה
o תאור בעבור אותו אתר
o מילות חיפוש של האתר
o קישור לאתר
o האם יתבצע פרסום בתשלום בלבד או גם בעד קרדיט פרסומי (כן\לא)
o פרטי יצירת קשר של הבעלים
o יצירת אין-סוף שטחי פרסום בכל אתר:
הוספת קישור אל העמוד הספציפי
תאור מתאים למיקום
שיוך לקטגוריה (במידה ושונה מקטגורית האתר)
האם שטח זה הוא בתשלום בלבד או גם בעד קרדית פרסומי (במידה והאתר עצמו מקוון על תשלום בלבד, אופציה זו לא תפעל).
עלות פרסום בשטח המבוקש בעבור X ימים\X חשיפות\X הקלקות (אחד מהשלושה)
• פאנל ניהול כללי המציג:
o כמות קמפיינים פעילים.
o כמות קרדית חינמי שנתקבל בסה"כ
o כמות קרדית בתשלום שנתקבל בסה"כ
o כמות קרדית חינמי שניתן לממש
o כמות קרדית בתשלום שניתן לממש
o כמות קרדית בתשלום שניתן לקבל כתשלום (במידה ומשתמש רכש X קרדית הוא לא יוכל לקבל אותו, אלא רק כזה שהרוויח מפרסומים באתרו).
• פאנל לניהול קמפיין פרסום:
o אפשרות יצירת קמפיין פרסום באתר נבחר\קטגוריה נבחרת\אתרים בעלי מילות חיפוש תואמות עם\בלי הגבלת קרדית, קרדית חינמי\בתשלום.
o בכל קמפיין יקבל הפותח קוד מתאים לשתילה באתר.
o ניתן לצפות בסטטיסטיקה של כל אתר לפני פרסום בו (כמות חשיפות בסה"כ, כמו הקלקות בסה"כ, ממוצע חשיפות ביום, ממוצע הקלקות ביום) ובנוסף מהם תנאי הפרסום (כאמור X ימים\X חשיפות\X הקלקות ).
• משתמשים ירוויחו כאשר משתמש יפרסם אצלהם בקרדית בתשלום בלבד.
• טופס יצירת קשר עם בעלי האתר (אתר החלפת הבאנרים, לא שטחי הפרסום).
אלו השדות הבסיסיים המופיעים בכל טבלה שאני יוצר (קשור בתשתית המערכת, אני לא ארחיב על הנושא):
PHP קוד:
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 ;
טבלאות המשתמשים (אין כאן את השדות מלמעלה)
PHP קוד:
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 - הקטגוריה אלייה משוייך האתר.
PHP קוד:
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 - תקופה מינימאלית ותשלום בעבורה.
PHP קוד:
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 - קרדית שנותר.
PHP קוד:
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 - תוקף הפרסום.
PHP קוד:
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 - קרדית שנותר (קרדית שהמשתמש רכש בעצמו)
PHP קוד:
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 ;
אשמח לשמוע את דעתכם בנושא
אני אתחיל לעבוד היום בערב על סקיצה ראשונית של המערכת (דף ראשי, פאנל ניהול).
תודה למגיבים
עריכה:
האמת שהרעיון לא מקורי כ"כ וממומש בהרבה אתרי החלפת באנרים, אני מקווה שתסלחו כי עיצוב זה לא הצד החזק שלי.