smena javascript
El Тестовоеobjetivo заданиеes дляimplementar frontend-разработчикаuna javascriptaplicación
Задачаde -una реализоватьsola одностраничное приложениеpágina (SPA), вdonde которомel пользовательusuario можетpueda зарегистрироватьсяregistrarse иy просмотретьver личнуюsu информациюinformación о себе.personal.
ДляPara простотыsimplificar разработкиel данногоdesarrollo приложенияde вesta видеaplicación, backend-частиse вproporciona данномel репозиторииarchivo представлен файл app.js
. backend-частьen дополнятьeste иrepositorio изменятьcomo неla нужно.parte Процессbackend. запускаNo apies наnecesario вашейmodificar машинеni описанcomplementar ниже.la Авторизацияparte иbackend. регистрацияLa наautenticación backend-частиy реализованаel черезregistro en la parte backend se realizan mediante JSON Web Token.
ТребованияRequisitos
ПриложениеLa должноaplicación состоятьdebe изconstar следующихde страниц:las siguientes páginas:
/login
-страницаPáginaсconформойelвходаformulario de inicio de sesión./register
-страницаPáginaсconформойelрегистрацииformulario de registro./
-ГлавнаяPáginaстраницаprincipalсconинформациейlaоinformaciónпользователе.del usuario.
ОписаниеDescripción страницыde la página /login
Здесь
- Contiene
формаunавторизацииformularioпользователя.deТакжеautenticaciónдолженparaбытьelпредусмотренusuario. - Debe
наtenerстраницуun botón para navegar a la página/register
.
ОписаниеDescripción страницыde la página /register
Здесь
- Contiene
формаunрегистрацииformularioпользователя.deТакжеregistroдолженparaбытьelпредусмотренusuario. - Debe
наtenerстраницуun botón para navegar a la página/login
.
ОписаниеDescripción страницыde la página /
- Главная(Página страницаprincipal)
Здесь
- Contiene
информацияlaоinformaciónпользователеdel-usuario:егоsuаватар,avatar,текстunоtextoсебе,sobreимяélпользователя.mismo
usuario.Желательноyоформитьsuвnombreвидеdeкарточки. - Se recomienda presentar esta información en forma de tarjeta.
ТехническиеRequisitos требованияtécnicos
Убедитесь,AsegúreseчтоdeуtenerвасinstaladaстоитlaNode.jsúltimaпоследнейversión LTSверсии:de Node.js:https://nodejs.org/en/Node.jsПриложениеLaдолжноaplicaciónбытьdebeнаписаноestarнаescrita enjavascript
.ИспользуемыйFrameworkфреймворкutilizado:-VuejsVue.js.КомпонентнаяBibliotecaбиблиотекаde-componentes:Vuetify.js
ЗапускInstrucciones para iniciar el API
Убедитесь,Asegúreseчтоdeуtenerвасlaстоитúltimaпоследняя nodeversión LTSверсии.deСсылка для скачивания:Node.js:https://nodejs.org/en/Descargar Node.jsВEnконсолиlaоткрытьconsola,папкуabra la carpetafrontend
.УстанавливаемInstaleзависимостиlasapidependencias-delвAPIконсолиconзапускаемelкомандуcomandonpm install
.ЗапускаемInicieapiel-APIвconконсолиelзапускаемcomandoкомандуnode app.js
.
ВAl результатеejecutar вel консолиAPI, получаемverá output:un output en la consola.
СерверEl сservidor con API стартовалha поiniciado адресуen la dirección http://localhost:8080
ПриDurante выполненииlas запросовsolicitudes кal apiAPI, вse консолиgenerarán будутlogs возникатьen логи,la удобноconsola, дляlo тестированияcual приложения.es útil para probar la aplicación.
ЗапросEnviar сsolicitudes jwt-токеном
con el JWT
ЧтобыPara отправитьenviar запросuna сsolicitud токеномcon нужноel указатьtoken, заголовокdebe incluir el encabezado Authorization: Bearer ${
.токенtoken пользователя}del usuario}
ПримечанияNotas
РеализациюLafrontend-частиimplementaciónследуетdeделатьlaвparteотдельномfrontendрепозитории,debeаhacerseнеenвunэтомrepositorioрепозитории.separadoЭтотyрепозиторийnoсодержитenвesteсебеrepositorio.толькоEstebackend-частьrepositorioвsoloвидеcontieneapi.la parte backend en forma de API.ВоDuranteвремяelразработкиdesarrolloприложенияdeнеlaстоитaplicación,изобретатьnoвелосипеды.esДляnecesarioкомпонентовreinventarформыcomponentes.иParaкарточекlosпредусмотренаcomponentesбиблиотекаdeformularios y tarjetas, utilice la biblioteca Vuetify.
js.js.ПриAlработеtrabajarсconVue.
js,jsследуетuseиспользоватьVuex,Vuex,Vue-cli
,y Vue-
router.routerПриAlперезапускеreiniciarbackend-частиlaприложенияparteсписокbackendпользователейdeсбрасываетсяlaкaplicación,стандартномуlaсостоянию!lista de usuarios se restablece a su estado original.Написанные- Las
будутpruebasплюсом.unitarias/e2eДляsonюнитовunуplus.насUtiliceиспользуетсяJestjest,paraдляunit tests y Cypress para e2e-
tests.cypress ИспользованиеUtilizarсоверменногоsintaxisjavascript-синтаксисаmodernaбудетdeплюсомJavaScript (ES5+)фишки)es un plus.
РезультатResultado проделаннойdel работы
trabajo
РезультатEl данногоresultado тестовогоde заданияesta следуетtarea опубликоватьdebe наpublicarse en github.com
вcomo видеun репозиторияrepositorio сcon публичнымacceso доступомpúblico.
ОписаниеDescripción endpoint'овde los endpoints del API
НижеA будутcontinuación, представленыse всеpresentan возможныеtodos endpoint'ыlos api.endpoints disponibles en el API.
ВажныеNotas замечания:importantes:
ПоPorумолчаниюdefecto,apielзапускаетсяAPIпоseадресуejecuta en la direcciónhttp://localhost:8080
.ПриAlперезапускеreiniciarapielпользователиAPI,сбрасываютсяlosвusuariosстандартноеseсостояниеrestablecen a su estado original.ДляParaтестаprobarapielможноAPI,использоватьpuede
utilizarpostmanилиPostmanлюбуюuдругуюotraутилиту,herramientaкотораяqueумеетpermitaслатьenviarhttp-запросыsolicitudes HTTP.
/login/
- авторизация пользователя
ДанныйEste эндпоинтendpoint принимаетacepta запросыsolicitudes наpara авторизациюla пользователей.autenticación Методde HTTP-запросаusuarios. -Método HTTP: POST
Тело
Cuerpo запросаde la solicitud (вen видеformato json)JSON)
username | String | + | |
password | String | + |
Возможные
Posibles ответыrespuestas эндпоинтаdel endpoint
200 - успешнаяAutenticación авторизацияexitosa
token | String | JWT- |
% |
error | String | null |
401 - неправильныеNombre имяde пользователя/парольusuario o contraseña incorrectos
token | String | null | |
error | null | " |
/register/
- регистрацияRegistro пользователяde usuario
ДанныйEste эндпоинтendpoint принимаетacepta запросыsolicitudes наpara авторизациюel пользователей.registro Методde HTTP-запросаusuarios. -Método HTTP: POST
.
Тело
Cuerpo запросаde la solicitud (вen видеformato json)JSON)
username | String | + | |
password | String | + |
Возможные
Posibles ответыrespuestas эндпоинтadel endpoint
200 - успешнаяRegistro регистрацияexitoso
message | String | " |
401 - регистрацияRegistro не удаласьfallido
message | String | " |
/about/
- Информация- оInformación пользователеdel usuario
ДанныйEste эндпоинтendpoint возвращаетdevuelve информациюla оinformación пользователе,del котораяusuario естьalmacenada наen сервереel Методservidor. HTTP-запросаMétodo -HTTP: GET
.
Возможные
Posibles ответыrespuestas эндпоинтadel endpoint
200 - успешноеInformación получениеobtenida информацииcon éxito
id | Integer | % |
|
username | String | % |
|
avatar | String | %avatar% | |
about | String | % |
401 - пользовательUsuario неno авторизованautorizado
ЕслиSi вno заголовкеse неenvía передаватьel jwt-токен,token либоJWT jwt-токенen былel просроченencabezado -o вернетсяel ответtoken ha expirado, se devolverá la respuesta:
400 - не удалось получить информацию
message | String | Сообщение |
ПолезныеEnlaces ссылки
útiles
- https://vuejs.org/ - Vuejs
- https://cli.vuejs.org/ - Vue-cli
- https://vuetifyjs.com/ - Vuetifyjs
- https://router.vuejs.org/- Vue-router
- https://www.getpostman.com/ - postman