-
-
@חינמי אמר בפרוייקט אבן הטוען:
זה נתקע כי אין מנהל.
מעניין.. בא נראה אולי אני יזיז משהו עם זה (בידע הבוסרי שלי בנוד + חוסר הידע שלי ב-DB מסוגים נורמלים..)
הבעיה שלי שאני לא יושב הרבה על המחשב (בעיה, או פתרון. שטייגען)
נראה -
-
האם אפשר לנסח זאת כך?:
כרגע בשלב ראשוני מה שצריך זה -
תוכנה עיקרית - בנוד - שתבצע את קבלת הנתונים מהמשתמשים (דרך בקשות HTTP) ותכניס מה שנשלח אליה - לתוך DB (מסוג SQL).
ה-DB צריך להיות בעל מבנה של הטבלאות דלהלן, בערך:- טבלאת אבידות - שם החפץ, תיאור, מיקום האבידה - עיר, טלפון\מייל\חשבון (ID של חשבון באתר), timestamp של יצירת האייטם בDB
- טבלאת מציאות - כנ"ל בערך. + סטטוס של האייטם - אם 'נמסר' כבר או לא
- טבלאת משתמשים (שלב מאוחר יותר) - פרטים של כל משתמש וכו' לצורך חשבונות למשתמשים. סיסמאות לא מאוחסנות בDB ב-plain text אלא במתודה מסוימת של הצפנה דרך הנוד ואז ההאש מאוחסן בDB
עוד endpoint בנוד שמקבלת בקשות לחיפוש נתונים (מקבלת JSON ומחפשת על פיו בDB של המציאוֹת ומחזירה JSON של כל האייטמים המתאימים)
כשיש את שני אלו - ממשק וֶובִּי זה כבר קינוח.
יש הערות?? ודאי שיש. תכתבו כל מה שיש.. (אני לא כותב את הנוד הזה עכשיו.. עכשיו אני הולך לישון ומחר נראה. בנתיים כדאי שיתקנו ככה את הקונספט)
(אני לא מבין בימות API ואין לי שום קשר לטלפוניה, אבל כשיש API זה כבר עניין של מי שיירתם לזה)
-
@chv אמר בפרוייקט אבן הטוען:
מיקום האבידה - עיר
- להגדיר שכונות לפי ID, יהיה יותר קל לסנן לפי שכונה.
- לפעמים אדם לא יודע אם איבד פה או שם. אז שיהיה אפשרות להגדיר כמה מקומות שבהם מסופק אם נאבד שם.
-
@chagold אמר בפרוייקט אבן הטוען:
להגדיר שכונות לפי ID, יהיה יותר קל לסנן לפי שכונה.
לא מכיר את הנושא של שכונות, בנתיים אני חושב שאני יעשה סינון ערים ואחר כך נראה
@chagold אמר בפרוייקט אבן הטוען:
לפעמים אדם לא יודע אם איבד פה או שם. אז שיהיה אפשרות להגדיר כמה מקומות שבהם מסופק אם נאבד שם.
זהו, חשבתי אם לתת אפשרות באופן כללי לשדות שיהיה אפשרי לכתוב אותם כריקים
כלומר נגיד להכניס אבידה שכל מה שידוע עליה זה השם של החפץ, אבל לא המיקוםזה כבר אני יודע שאני יעשה את זה בחיפוש - שיהיה אפשרות של חיפוש חלקי.
כלומר לדוגמא יהיה אפשר לחפש בצורה מלאה - לשלוח לי פרמטרים של שם החפץ + עיר + קטגוריה
ומאידך יהיה ניתן לדוגמא לשלוח רק קטגוריה ולקבל JSON של כל השורות שמכילים את הקטגוריה הזו
או שם של חפץ - כל השורות שמכילות את השם הזה (גם חיפוש חלקי של שם. נגיד עםLIKE
של SQL.. חח @yossiz למדתי משהו..)אני מתחיל לכתוב עכשיו משהו, אני יעלה את זה לגיטהב כשיהיה בשר - ואני יעשה אפליקציית הרוקו שתשאב את הbranch שלה מהריפו בגיטהב. כך שכל מי שיעשה קומיט (שמאושר) לריפו - זה אוטומטי יחול בפועל במערכת הפעילה.
-
עדכון:
כתבתי משהו.העליתי לגיטהב כאן https://github.com/chaim-chv/even-hatoan
זה מריץ מתוך זה את האפליקציה על הרוקו - כאן אפשר לגשת יש ממשק מסוים https://even-hatoan.herokuapp.com/
נפתח בנטפרילא היה לי ככ זמן לכתוב קומנטים, אם יש שאלות תכתבו כאן.
אולי נפתח לזה שרשור חדש? -
@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 של הריפו.
-
@chv שאפו על העבודה!
כמה הערות:
- אם הבקשה ל-
/data/lost
לא עושה שינויים בשרת, מקובל להשתמש ב-GET. - עכשיו זה זמן מצויין ללמוד על SQL Injection
מה יקרה אם במקרה נאבד למישהו'; drop from found;
ניסיתי לבדוק ו... הממ... משהו נשבר באתר שלך
- אם הבקשה ל-
-
@yossiz אמר בפרוייקט אבן הטוען:
מה יקרה אם במקרה נאבד למישהו '; drop from found;
האמת שזה לא SQL תקין, לא ברור לי מה מה בדיוק קרה שם ולמה האתר נשבר... אשמח להבהרה.
בכל מקרה הרעיון ברור. אסור לתת אפשרות להזריק קוד SQL לשאילתות. -
-
@yossiz אמר בפרוייקט אבן הטוען:
האמת שזה לא SQL תקין, לא ברור לי מה מה בדיוק קרה שם ולמה האתר נשבר...
הגיוני שאם הSQL לא תקין, תיווצר שגיאה, ומן הזמן היא לא מטופלת....
(לא עברתי על הקוד, רק ממה שנראה מלמעלה.)
-
@clickone אמר בפרוייקט אבן הטוען:
הגיוני שאם הSQL לא תקין, תיווצר שגיאה, ומן הזמן היא לא מטופלת....
אתה צודק, הורדתי את הקוד ובדקתי. כאשר יש שגיאה כל האפליקציה נופלת.
@chv, נעשה pull request -
-
פוסט זה נמחק!
-
פוסט זה נמחק!
-
97/106