Página baseada no repositório de desafios da DIO (CV Online), cujo propósito consiste em reproduzir e tentar realizar algumas melhorias, como forma de exercitar os conhecimentos.
O HTML deste repositório usa referências do tutorial W3C.CSS do W3 Schools.
A página pode ser visualizada clicando aqui.
Alterações feitas aqui:
- Adição de modo escuro
- Dados são passados via JSON e inseridos na página dinamicamente
Os dados estão em formato JSON e obedecem a seguinte estrutura:
[{
"user_name": "Nome do perfil",
"user_occupation": "nome do cargo",
"user_local": "cidade/país",
"user_email": "e-mail para contato (se houver)",
"user_phone": "telefone para contato (se houver)",
"user_skills": [
{
"skill": "nome da habilidade",
"level": "nível de conhecimento (em dígitos)"
}
],
"user_languages": [
{
"language": "nome do idioma",
"level": "nível de fluência (em dígitos)"
}
],
"user_about": "Descrição do perfil",
"user_experiences": [
{
"experience": "nome da experiência",
"period":
{
"start": "data de início",
"conclusion": "data de conclusão (se houver)"
},
"experience_description": "descrição da experiência"
}
],
"user_education": [
{
"institution": "nome da instutuição de ensino",
"period": {
"start": "data de início",
"conclusion": "data de conclusão (se houver)"
},
"education_description": "descrição do curso",
"subjects": [
{
"subject_name": "conteúdo do curso",
"subject_link": "link do curso (se houver)"
}
]
}
],
"user_projects": [
{
"project_icon":"fa-fa-github",
"project_link": "link do repositório do projeto",
"project_description": "descrição do projeto",
"inProgress": "recebe true ou false"
}
],
"user_medias": [
{
"media_name": "nome da rede social",
"media_link": "link da página"
}
]
}]
- Os campos para e-mail e phone não serão renderizados caso as chaves
user_email
euser_phone
contenham string vazia""
. - No campo Experiences da página, caso não haja data de conclusão (chave
user_experiences.period.conclusion: ""
), a página irá mostrar uma tag "Present". De forma semelhante, no Campo Education da página, caso não haja data de conclusão (chaveuser_education.period.conclusion: ""
), a página irá mostrar a tag "In progress". - No campo Projects da página, pode-se sinalizar se o projeto inserido ainda está em curso, para isto, a chave
user_projects.inProgress
deve receber o valor detrue
. Isto fará com que a página exiba a tag "In progress". - No campo Education, caso não haja nenhum link (chave
user_education.subjects.subject_link: ""
), a página não criará nenhuma âncora. - Os ícones no campo Projects são renderizados de acordo com a referência da W3C Schoools sobre ícones. Com base na plataforma na qual o repositório do projeto se encontra, a chave
user_projects.project_icon
deve ser altarada para a expressão com o nome da plataforma ("fa fa-nome-da-plataforma"), caso exista na opção na documentação do W3C Schools (consultar referência citada). Da mesma forma, no rodapé da página, os ícones das redes sociais devem ser alterados mudando o valor da chaveuser_medias.media_icon
para a expressão com o nome da plataforma.