-
האם אפשר לנסח זאת כך?:
כרגע בשלב ראשוני מה שצריך זה -
תוכנה עיקרית - בנוד - שתבצע את קבלת הנתונים מהמשתמשים (דרך בקשות HTTP) ותכניס מה שנשלח אליה - לתוך DB (מסוג SQL).
ה-DB צריך להיות בעל מבנה של הטבלאות דלהלן, בערך:- טבלאת אבידות - שם החפץ, תיאור, מיקום האבידה - עיר, טלפון\מייל\חשבון (ID של חשבון באתר), timestamp של יצירת האייטם בDB
- טבלאת מציאות - כנ"ל בערך. + סטטוס של האייטם - אם 'נמסר' כבר או לא
- טבלאת משתמשים (שלב מאוחר יותר) - פרטים של כל משתמש וכו' לצורך חשבונות למשתמשים. סיסמאות לא מאוחסנות בDB ב-plain text אלא במתודה מסוימת של הצפנה דרך הנוד ואז ההאש מאוחסן בDB
עוד endpoint בנוד שמקבלת בקשות לחיפוש נתונים (מקבלת JSON ומחפשת על פיו בDB של המציאוֹת ומחזירה JSON של כל האייטמים המתאימים)
כשיש את שני אלו - ממשק וֶובִּי זה כבר קינוח.
יש הערות?? ודאי שיש. תכתבו כל מה שיש.. (אני לא כותב את הנוד הזה עכשיו.. עכשיו אני הולך לישון ומחר נראה. בנתיים כדאי שיתקנו ככה את הקונספט)
(אני לא מבין בימות API ואין לי שום קשר לטלפוניה, אבל כשיש API זה כבר עניין של מי שיירתם לזה)
@chv אמר בפרוייקט אבן הטוען:
טבלאת אבידות - שם החפץ, תיאור, מיקום האבידה - עיר, טלפון\מייל\חשבון (ID של חשבון באתר), timestamp של יצירת האייטם בDB
טבלאת מציאות - כנ"ל בערך. + סטטוס של האייטם - אם 'נמסר' כבר או לאלכאורה אפשר לאחד אותם לטבלה אחת עם דגל שיסמן אם זו אבידה או מציאה
https://github.com/chaim-chv/even-hatoan/blob/master/app.js#L7
עשית חיבור אחד למסד, זה לא טוב, צריך ליצור מאגר של חיבורים, במקום createConnection צריך createPool
https://stackoverflow.com/a/37102397 -
@chv אמר בפרוייקט אבן הטוען:
טבלאת אבידות - שם החפץ, תיאור, מיקום האבידה - עיר, טלפון\מייל\חשבון (ID של חשבון באתר), timestamp של יצירת האייטם בDB
טבלאת מציאות - כנ"ל בערך. + סטטוס של האייטם - אם 'נמסר' כבר או לאלכאורה אפשר לאחד אותם לטבלה אחת עם דגל שיסמן אם זו אבידה או מציאה
https://github.com/chaim-chv/even-hatoan/blob/master/app.js#L7
עשית חיבור אחד למסד, זה לא טוב, צריך ליצור מאגר של חיבורים, במקום createConnection צריך createPool
https://stackoverflow.com/a/37102397@יוסף-בן-שמעון אמר בפרוייקט אבן הטוען:
לכאורה אפשר לאחד אותם לטבלה אחת עם דגל שיסמן אם זו אבידה או מציאה
צודק בהחלט
@יוסף-בן-שמעון אמר בפרוייקט אבן הטוען:
עשית חיבור אחד למסד, זה לא טוב, צריך ליצור מאגר של חיבורים, במקום createConnection צריך createPool
קראתי מה שהבאת מסטאק (וקראתי על זה גם לפני זה) אני לא יודע עדיין איך לעשות זאת בצורה נכונה, למה שלא תכתוב תיקון ותכניס בגיטהב?
-
אגב שכחתי להסביר קצת על המבנה (לא שבניתי משהו סבוך) הנה זה בערך:
האפליקציה בנויה מnodeJS (נטו נוד + אקספרס) וגם חבילה של mysql לnodeJS.
אפליקציית הנוד מורצת על הפלטפורמה הרוקו heroku בחינם.
ה-DB הוא jawsDB MySQL כתוסף לאפליקציית הרוקו. תוכנית חינמית - גודל הDB מוגבל ל-5 מגהבייט בלבד נראה מתיי זה יגיע לגבול..האפליקציה שרצה בפועל - שואבת את המקור שלה (הכל עובד על GIT) ישירות מהריפו בגיטהב
בכל פוש לריפו (כל pull request שמאושר - הוא גם push) קורה תהליך אוטומטי של בנייה מחדש של האפליקציה על פי הריפו העדכני.כך שכל שינוי שם משתקף מיידית וניתן לצפייה.
collabration:
מי שמעוניין להיכנס לעניינים בזה ורוצה לערוך וכו' בריפו הנ"ל בלי שיגעון של fork וזה - תשלחו לי במייל ואצרף אתכם כ-collabrators של הריפו.
-
אגב שכחתי להסביר קצת על המבנה (לא שבניתי משהו סבוך) הנה זה בערך:
האפליקציה בנויה מnodeJS (נטו נוד + אקספרס) וגם חבילה של mysql לnodeJS.
אפליקציית הנוד מורצת על הפלטפורמה הרוקו heroku בחינם.
ה-DB הוא jawsDB MySQL כתוסף לאפליקציית הרוקו. תוכנית חינמית - גודל הDB מוגבל ל-5 מגהבייט בלבד נראה מתיי זה יגיע לגבול..האפליקציה שרצה בפועל - שואבת את המקור שלה (הכל עובד על GIT) ישירות מהריפו בגיטהב
בכל פוש לריפו (כל pull request שמאושר - הוא גם push) קורה תהליך אוטומטי של בנייה מחדש של האפליקציה על פי הריפו העדכני.כך שכל שינוי שם משתקף מיידית וניתן לצפייה.
collabration:
מי שמעוניין להיכנס לעניינים בזה ורוצה לערוך וכו' בריפו הנ"ל בלי שיגעון של fork וזה - תשלחו לי במייל ואצרף אתכם כ-collabrators של הריפו.
-
@chv שאפו על העבודה!
כמה הערות:
- אם הבקשה ל-
/data/lost
לא עושה שינויים בשרת, מקובל להשתמש ב-GET. - עכשיו זה זמן מצויין ללמוד על SQL Injection
מה יקרה אם במקרה נאבד למישהו'; drop from found;
ניסיתי לבדוק ו... הממ... משהו נשבר באתר שלך
- אם הבקשה ל-
-
@yossiz אמר בפרוייקט אבן הטוען:
מה יקרה אם במקרה נאבד למישהו '; drop from found;
האמת שזה לא SQL תקין, לא ברור לי מה מה בדיוק קרה שם ולמה האתר נשבר... אשמח להבהרה.
בכל מקרה הרעיון ברור. אסור לתת אפשרות להזריק קוד SQL לשאילתות. -
@yossiz אמר בפרוייקט אבן הטוען:
האמת שזה לא SQL תקין, לא ברור לי מה מה בדיוק קרה שם ולמה האתר נשבר...
הגיוני שאם הSQL לא תקין, תיווצר שגיאה, ומן הזמן היא לא מטופלת....
(לא עברתי על הקוד, רק ממה שנראה מלמעלה.)
-
D dovid העביר נושא זה מ-תכנות ב-
-
@clickone אמר בפרוייקט אבן הטוען:
הגיוני שאם הSQL לא תקין, תיווצר שגיאה, ומן הזמן היא לא מטופלת....
אתה צודק, הורדתי את הקוד ובדקתי. כאשר יש שגיאה כל האפליקציה נופלת.
@chv, נעשה pull request -
פוסט זה נמחק!
-
פוסט זה נמחק!
-
D dovid נעל נושא זה ב-