рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдРрдк рдмрдирд╛рдПрдВред рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ - рдХрджрдо рд╕реЗ рдХрджрдо рдирд┐рд░реНрджреЗрд╢



2018 рдореЗрдВ, рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмреИрдХрдПрдВрдб рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рддрд░реАрдХрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдкрдиреЗ рдХрднреА рдРрд╕рд╛ рди рдХрд┐рдпрд╛ рд╣реЛред рд╣рд╛рдВ, рдореБрдЭреЗ рдЕрдирдЧрд┐рдирдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реЛрдВ, MBaaS рдпрд╛ BaaS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд░реНрд╡рд░рд╣рд┐рдд рди рдХреЗрд╡рд▓ рдкреНрд░рд╛рдердорд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдмрд▓реНрдХрд┐ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕ рдмреИрдХрдПрдВрдбреНрд╕ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИ рдЬреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рджреВрд╕рд░реЗ рджрд┐рди рд╣рдордиреЗ рд░реВрд╕ рдореЗрдВ рдкрд╣рд▓рд╛ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдХреНрд▓рд╛рдЙрдб рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ - рд╕реНрд╡рд┐рдлреНрдЯреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд░реБрд╕реЛрдиреАрдХреНрд╕ рд╕рд░реНрд╡рд░рд▓реЗрд╕ ред рдордВрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рддреАрди рдорд╣реАрдиреЗ рдореБрдлреНрдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рд░ рдХреЛрдИ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓, рдЫрд╡рд┐ рднрдВрдбрд╛рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рдЯреВрдбреВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдВред рд╣рдо рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдлреНрдЯреА рдкрд░ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╕рднреА рд╕рд░реНрд╡рд░рд▓реЗрд╕ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдорд╛рди рд╣реИред рддреИрдпрд╛рд░ рдЖрд╡реЗрджрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдлреНрд░рдВрдЯрдПрдВрдб vue.js рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдмрд┐рд▓реНрдЯ-рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ (S3) рдкрд░ рдЪрд▓рд╛рдПрдВрдЧреЗ, рдмреИрдХрдПрдВрдб рдЧреЛ рдФрд░ рдкрд╛рдпрдерди рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕ рдЧрд╛рдЗрдб рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЧреЛрд╢реЗрдХреА рдФрд░ рдЕрдЬрдЧрд░ рдХреЗ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрд╡реЗрджрди рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг


рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдмрдирд╛рдПрдВрдЧреЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдПрдХ рд╕реНрд╡рд┐рдлреНрдЯреА рдЦрд╛рддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдпрд╣рд╛рдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдпрд╣ рд╕реНрдХреНрд░реАрди рджреЗрдЦрдиреА рдЪрд╛рд╣рд┐рдПред



рдЕрдм рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрд╡рд┐рдлреНрдЯреА рдореЗрдВ рдПрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрд╡рд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ - рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдЬреЛ рд╕рд╛рдЗрдирдЕрдк, рд╕рд╛рдЗрдирдЗрди рдФрд░ рд▓реЙрдЧрдЖрдЙрдЯ рдХреЗ рдореВрд▓ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ, рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдлреЗрд╕рдмреБрдХ рдПрдХреАрдХрд░рдг рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЛ рдлреЗрд╕рдмреБрдХ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рд╣реИред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЕрднреА рдЙрдирдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рд╢рд╛рдпрдж рдмрд╛рдж рдореЗрдВред

рдПрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдБ :

  • рдУрдкрди рд╕реНрд╡рд┐рдлреНрдЯреА -> рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд┐рд╕реЗрдЬред
  • Create Auth рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ todoapp рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдирд╛рдо рджреЗрдВред рдореИрдВ рдЗрд╕ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдЕрдкрдиреЗ рдЖрдзрд╛рд░ рдХреЛ рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреА :

  1. рдлрдВрдХреНрд╢рди todoapp.base - рд╕рд╛рдЗрдирдЕрдк, рд╕рд╛рдЗрдирдЗрди рдФрд░ рд▓реЙрдЧрдЖрдЙрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, OAuth 2.0 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
  2. рдХрд╛рд░реНрдп todoapp.fb - рдЖрдк fb рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  3. рдлрдВрдХреНрд╢рди todoapp.link - fb рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЦрд╛рддреЛрдВ рдХреЛ рдЙрдирдХреЗ рдЦрд╛рддреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
  4. рдлрд╝рдВрдХреНрд╢рди todoapp.profiles - MongoDB рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рд╣рдЯрд╛рддрд╛ рд╣реИред
  5. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Todoapp_mgo DB - Mongoред
  6. Todoapp_profiles - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдЧреЛ рдбреАрдмреА ред
  7. рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдорд┐рдбрд▓рд╡реЗрдпрд░ (AuthMW) рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╣реИ рдЬреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдм рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдХреЗ рдЬреЗрдбрдмреНрд▓реНрдпреВрдЯреА рдЯреЛрдХрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдЗрд╕реЗ рдЯреВрдбреВ.рдмреЗрд╕ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреЛрдИ рдЯреЛрдХрди рдирд╣реАрдВ рд╣реИ рдпрд╛ рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ - рдПрдкреАрдЖрдИ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╣рдо "рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред" рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд╛рдо рдкрд░ рдЙрдиреНрд╣реЗрдВ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк todoapp.newfunction рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ todoapp рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдирд╛рдо newfunction рдХреЗ рд╕рд╛рде рд╡рд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдЖрдкрдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯ (рдЪрд┐рддреНрд░ рджреЗрдЦреЗрдВ) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



рдЖрдк рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмреЗрд╣рддрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ


рдпрд╣ рдкреИрд░рд╛рдЧреНрд░рд╛рдл, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдирд╣реАрдВ, рдпрджрд┐ рдЖрдк рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрд╡рд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рд╕реНрд╡рд┐рдлреНрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рд╕рдордЭреЗрдВред Go рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ todoapp.base рдлрд╝рдВрдХреНрд╢рди, рдореВрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдЖрдкрдХреЛ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ, рд╕рд╛рдЗрдирдЗрди рдФрд░ рд╕рд╛рдЗрдирдЖрдЙрдЯ рдХреЛ рдЫреВрдиреЗ рдХреЗ рдмрд┐рдирд╛, рдпрд╣ рдЕрднреА рднреА рдЕрдкрдирд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдПрдХ рдЪрд░ SWIFTY_AUTH_NAME рд╣реИ, рдЬреЛ AuthMW рдирд╛рдо рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрд╡рдпрдВ MongoDB рдФрд░ AuthMW рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдЧреБрдгреЛрдВ рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдЯреИрдм рдкрд░ рдкрдВрдЬреАрдХреГрдд рд╣реИрдВред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдПрдХ REST API рдЯреНрд░рд┐рдЧрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд▓рд┐рдВрдХ рд╣реИ рдЬрд┐рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

Todoapp.base рдлрд╝рдВрдХреНрд╢рди рдЖрдкрд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдЕрдиреБрд░реЛрдз рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдВред рдкрд╛рд╕рд╡рд░реНрдб рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣рд╛рдВ рдРрд╕реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ:

* Sign up: https://api.swifty.cloud:8686/call/012.../signup&userid=user@yourmail.com&password=xxxxxxxx * Sign in: https://api.swifty.cloud:8686/call/012.../signin&userid=user@yourmail.com&password=xxxxxxxx * Log out: https://api.swifty.cloud:8686/call/012.../leave&userid=user@yourmail.com 

рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╛рдЗрдирдЗрди рд╕рдлрд▓ рдерд╛ (рдлрд╝рдВрдХреНрд╢рди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЯреНрд░рд╛рдВрд╕рдорд┐рдЯ рдХрд┐рдП рдЧрдП рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ), рддреЛ рдЖрдк JSON рдХреЛ JWT рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ рд╣рд░ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдХреНрд╖рдо рд╣реИред рдПрдХ JWT рдЯреЛрдХрди рдмрд┐рдпрд░рд░ рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рд╕реНрдХреАрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред OAuth 2.0 рдФрд░ рдмрд┐рдпрд░рд░ рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рдкрдврд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИ ред

рдпрджрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдлрд╝рдВрдХреНрд╢рди рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрд░реЛрдз 401 рдХреЛрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрди


рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдПрдХ REST API url рд╣реИ, рдПрдХ рд▓рд┐рдВрдХ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЗрд╕ рд▓рд┐рдВрдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, todoapp.base рдлрд╝рдВрдХреНрд╢рди рдЦреЛрд▓реЗрдВ, рдЯреНрд░рд┐рдЧрд░ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, REST API url рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ рдФрд░ рдЗрд╕реЗ рдХрд╣реАрдВ AUTH_URL рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред рдереЛрдбрд╝рд╛ рдЖрдЧреЗ, рд╣рдореЗрдВ рдЗрд╕ рд▓рд┐рдВрдХ рдХреЛ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдлреНрд░рдВрдЯреЗрдВрдб рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рд╣рдореЗрдВ todoapp.profiles рдХреЗ рд▓рд┐рдП API URL рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХреЗред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЦреЛрд▓реЗрдВ, рдЯреНрд░рд┐рдЧрд░ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, REST API url рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ PROFILE_URL рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрд╡рддрд╛рд░ рдкреНрд░рдмрдВрдзрди


рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрд╡рддрд╛рд░ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рднреА рджреЗрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд╕реНрддреБ рд╕рдВрдЧреНрд░рд╣рдг рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рддрд╕реНрд╡реАрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рд╣реИ рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдВрдЧреНрд░рд╣рдг рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд┐рддреНрд░ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдпрд╛ рдорд╛рдирдХ S3 рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдпреВрдЖрдИ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХрдВрдЯреНрд░реЛрд▓ рдЯреИрдм рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдПрдХ рдЪрд┐рддреНрд░ рдкреНрд░рдмрдВрдзрди рд╕рдорд╛рд░реЛрд╣ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП:

  1. рдЯреИрдм рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЬрд╛рдПрдВ -> рдирдпрд╛ рдХрд╛рд░реНрдп -> тАЛтАЛрд░реЗрдкреЛ (рдЯреЗрдореНрдкреНрд▓реЗрдЯ) рд╕реЗред рд╣рдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА swifty.demo рдореЗрдВ рд╕рднреА рдлрд╝рдВрдХреНрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рднрдВрдбрд╛рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  2. рдЕрд╡рддрд╛рд░ рдкреНрд░рдмрдВрдзрди (рдЕрдЬрдЧрд░) рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЕрдЧрд▓рд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдирдП todoapp.avatar рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВред рдХреНрд░рд┐рдПрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
  3. рдЕрдЧрд▓рд╛, рдЯреНрд░рд┐рдЧрд░ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, рдЯреНрд░рд┐рдЧрд░ рдЬреЛрдбрд╝реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, REST API (URL) рдЪреБрдиреЗрдВред рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд▓рд┐рдВрдХ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ PICTURE_URL рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред

рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рдПрдХ рдмрдХреЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  1. рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдкрд░ рдЬрд╛рдПрдВ -> рдмрд╛рд▓реНрдЯреА рдЯреИрдм рдмрдирд╛рдПрдВред рдирдП рдЯреВрдбрдкреНрдкрд┐рдореЗрдЬ рдмрд╛рд▓реНрдЯреА рдХрд╛ рдирд╛рдо рдмрддрд╛рдПрдВред
  2. рдЯреИрдм рдХрд╛рд░реНрдп рдкрд░ рдЬрд╛рдПрдБ -> todoapp.avatar -> рдкреНрд░рд╡реЗрд╢ -> рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдВрдЧреНрд░рд╣рдг рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдирд╡ рдирд┐рд░реНрдорд┐рдд todoappimgaes рдмрд╛рд▓реНрдЯреА рдФрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдЬреЛрдбрд╝реЗрдВред

рдЕрдм рд╣рдорд╛рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдмрд╛рд▓реНрдЯреА рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдмрд╛рд▓реНрдЯреА рддрдХ рдХрд┐рд╕реА рднреА рдПрдХреНрд╕реЗрд╕ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╡рд╣ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд▓реНрдЯреА рд╣реИ:

  1. рдЯреИрдм рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЬрд╛рдПрдБ -> todoapp.avatar -> рдЪрд░ рдФрд░ рдмрдирд╛рдПрдБ рдЪрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
  2. рд╡реИрд░рд┐рдПрдмрд▓ рдирд╛рдо - BUCKET_NAME, рдФрд░ рдЗрд╕рдХрд╛ рдорд╛рди - рдЯреВрдбреВрдкреАрдореЗрдЬ рджрд░реНрдЬ рдХрд░реЗрдВред

рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди


рджрд░рдЕрд╕рд▓, рд╣рдо рдПрдХ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдПрдкреНрд▓реАрдХреЗрд╢рди рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЗрд╕реА рдлрдВрдХреНрд╢рди рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдХрд╛рд░реНрдп рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕реЗ рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХрд╛рд░реНрдп рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред

рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдмрдирд╛рдПрдБ:

  1. рдЯреИрдм рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЬрд╛рдПрдВ -> рдирдпрд╛ рдХрд╛рд░реНрдп -> тАЛтАЛрд░реЗрдкреЛ (рдЯреЗрдореНрдкреНрд▓реЗрдЯ) рд╕реЗред
  2. TODO рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╝рдВрдХреНрд╢рди (рдЕрдЬрдЧрд░) рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдирдП todoapp.tasks рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВред рдХреНрд░рд┐рдПрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
  3. рдЕрдЧрд▓рд╛, рдЯреНрд░рд┐рдЧрд░ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, рдЯреНрд░рд┐рдЧрд░ рдЬреЛрдбрд╝реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, REST API (URL) рдЪреБрдиреЗрдВред рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд▓рд┐рдВрдХ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ TASKS_URL рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред

рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк MongoDB рд╣реИред

  1. Mongo рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдЬрд╛рдПрдБ -> рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреИрдм рдмрдирд╛рдПрдБ рдФрд░ todoapp_tasks рдирд╛рдордХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдБред
  2. рдЯреИрдм рдХрд╛рд░реНрдп рдкрд░ рдЬрд╛рдПрдБ -> todoapp.tasks -> рдкреНрд░рд╡реЗрд╢ -> рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЬреЛрдбрд╝реЗрдВред

рдЕрдм рд╣рдорд╛рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд╛рд╕ todoapp_tasks рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рд╕реНрд╡рд┐рдлреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

db = swifty.MongoDatabase(os.getenv('TASKS_DB_NAME'))

рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  1. рдЯреИрдм рдХрд╛рд░реНрдп рдкрд░ рдЬрд╛рдПрдБ -> todoapp.tasks -> рдЪрд░ рдФрд░ рдмрдирд╛рдПрдБ рдЪрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
  2. рдЪрд░ рдирд╛рдо - TASKS_DB_NAME рдФрд░ рдЙрд╕рдХрд╛ рдорд╛рди рджрд░реНрдЬ рдХрд░реЗрдВ - todoapp_tasksред

рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдХреНрд╖рдо рдХрд░реЗрдВ


рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрдХрдПрдВрдб рдФрд░ рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдп рдЬреЛ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдмреИрдХрдПрдВрдб рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЙрдирдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓, рдЕрд╡рддрд╛рд░ рдФрд░ рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди рдХрд╛рд░реНрдпреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХреЗрдВред

рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреЛрдХрди рд╕рддреНрдпрд╛рдкрди рдХреИрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:

  1. рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
  2. рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ todoapp рд╕реЗрд╡рд╛ рдЪреБрдиреЗрдВ, рд╕рдХреНрд╖рдо рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рдЕрдм, todoapp.t рдХрд╛рд░реНрдпреЛрдВ рдФрд░ todoapp.avatar рдХреЗрд╡рд▓ JWT рдЯреЛрдХрди todoapp.base рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рд╕рд╣реА JWT рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдПред



рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ


рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдлреНрд░рдВрдЯрдПрдВрдб рд╕реЗ рдирд┐рдкрдЯреЗрдВред рджреГрд╢реНрдпрдкрдЯрд▓ vue.js рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдмрд╕ рдЗрд╕рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЗрд╕ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ рдФрд░ vue.js рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдХреЛрдИ рдЬреНрдЮрд╛рди рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред

рдЖрдк рд╕реНрдерд╛рдкрд┐рдд рдиреЛрдб рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЖрд╡реЗрджрди рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдПред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЗрд╕реЗ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЧрд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдореИрдХ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рд╣реИ ред рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП git рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХреГрдкрдпрд╛ рдХрд░реЗрдВ:

 # git clone https://github.com/swiftycloud/swifty.todoapp 

рдЙрд╕рдХреЗ рдмрд╛рдж, /swifty.todoapp/src рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ config.js рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рдЪрд░реЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдмрдЪрд╛рдпрд╛ рдерд╛:

export const AUTH_URL = "https://api.swifty.cloud/call/991..."
export const PROFILE_URL = "https://api.swifty.cloud/call/281..."
export const PICTURE_URL = "https://api.swifty.cloud/call/e6a..."
export const TASKS_URL = "https://api.swifty.cloud/call/4b1..."


рд╣рдореЗрдВ FB рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдлрд┐рд░ рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 # npm run build 

...
рдкреВрд░рд╛ рд╣реБрдЖред рдбрд┐рд╕реНрдЯреЗрдВрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред

рдЖрд╡реЗрджрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рднреА рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 # npm run serve 

рдФрд░ рдЗрд╕реЗ http: // localhost: 8080 рдкрд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВ

рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, рдПрдХ рдЯреВрдбреВ рдмрд╛рд▓реНрдЯреА рдмрдирд╛рдПрдВ рдФрд░ /swifty.todoapp/dist/ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ /swifty.todoapp/dist/ рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдореЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд░реЗрдВ (рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рд╣рд╛рде рд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛)ред

рдЕрдВрддрд┐рдо рдЪрд░рдг рдЖрд╡реЗрджрди рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╣реИред рдЕрдзрд┐рдХ -> HTTP рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рдмрд╛рд▓реНрдЯреА рдХреЗ рд▓рд┐рдП HTTP рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд▓рд┐рдВрдХ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЙрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ - рдпрд╣ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рд╣реИ!



рдЕрдм рдЖрдк рдЗрд╕рдореЗрдВ рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрдм рдлрд╝рдВрдХреНрд╢рди рд╕реНрдХреНрд░реАрди рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдЕрднреА рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВ - рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд▓реЛрдбрд┐рдВрдЧ рдЖрджрд┐ рдХреЗ рд▓рд┐рдПред

рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?


рд╣рдордиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдпрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рд▓реЛрдХрдкреНрд░рд┐рдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрдИ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИрдВ, рдФрд░ рдЖрдк, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ, рдирдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рдФрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВред рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЖрдЬрд╝рдорд╛рдПрдВ, рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рд▓рд┐рдЦреЗрдВ рдФрд░ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдРрдк рдмрдирд╛рдПрдВред

рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХреГрдкрдпрд╛ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдлреНрдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВред

рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ!

Source: https://habr.com/ru/post/hi430296/


All Articles