Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
91 changes: 0 additions & 91 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,92 +1 @@
# Frontend Challenge

## Description

For this challenge, you will be creating a basic app for managing your favorite bloggers. You will be able to:

- Add a new blogger with their information
- View a list of your favorite bloggers
- Associate bloggers to each other
- Basic search functionality

## Requirements

Your project should include the following:

- Your project must include a README with instructions:
- How to install dependencies
- How to run in development

## Features

Using your preferred technology, please implement the following features:

- As a user, I should be able to create a new blogger with the following information:
- Name
- Website
- Picture url
- Email
- As a user, I should be able to see all the existing bloggers in a list
- Name
- Website
- Picture
- As a user, I should be able to see a details page of a blogger with the following information
- Picture
- Name
- Website
- List of friends
- Email
- As a user, I should be able to search bloggers by name or website
- As a user, I should be able to add a friend to a blogger (blogger has many blogger friends)

The last two features don't need to work with a BE (API,algolig), it can be just a mock. For example, for the search feature you can display an autocomplete list or redirect the user to a results page with mock data.

## Nice to have

Your application can include automated tests.

## Persistance

Data persistance is not required but highly encouraged. Feel free to use local storage, firebase or whatever you feel comfortable.

## Mock data

Whether you persist data or not, you may use this JSON to populate your initial app state.

```js
{
bloggers: [
{
id: "1",
name: "Juan Perez",
website: "juanperez.io",
picture_url: "https://placekitten.com/200/300",
email: "conact@juanperez.io",
friends: []
},
{
id: "2",
name: "Amano Pikamee",
website: "pikamee.io",
picture_url: "https://placekitten.com/200/300",
email: "contact@pikamee.io",
friends: ["1"]
},
{
id: "3",
name: "Tony Stark",
website: "tonystark.io",
picture_url: "https://placekitten.com/200/300",
email: "contact@tonystark.io",
friends: ["1", "2"] #list of member_id
}
]
}
```

## Delivery

We want to see your application working and code:

1. If you're using web technologies, please deploy your application to a free service like github pages. If you're creating a native app, please record your screen showing your application functionality.
1. To upload your code please clone this repository and when you're ready please create a new PR from your personal branch to the main branch. Assign your PR to Rodolfo Islas.
14 changes: 14 additions & 0 deletions READMERamonRios.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Indicaciones Dev
para ejecutar se deben correr 2 instancias en 2 terminales.

Terminal 1
npx json-server --watch db.json --port 3004

Terminal 2
npm start

Si se requiere subir mas datos, se agregan en db.json


Video demo.
https://youtu.be/dPVWUXFVnUI
127 changes: 127 additions & 0 deletions db.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
{
"motorcycles": [
{
"id": 1,
"trademark": "Honda",
"model": "2020",
"reference": "CB-650-R",
"price": 5700000,
"image": "https://a5i4f6g5.stackpathcdn.com/images/cms/Gris-48571.png"
},
{
"id": 2,
"trademark": "Yamaha",
"model": "2020",
"reference": "Bws X Fi",
"price": "5000000",
"image": "https://yamaha-mundoyamaha.com/wp-content/uploads/2020/07/BwsxFi_color_naranja-v2.png"
},
{
"id": 3,
"trademark": "Suzuki",
"model": "2021",
"reference": "ACCESS 125 FI",
"price": 4200000,
"image": "https://suzuki.com.co/sites/default/files/2020-12/ROJOMATE.png"
},
{
"trademark": "Suzuki",
"model": "2021",
"reference": "NEW BEST 125 FI",
"price": "5000",
"image": "https://suzuki.com.co/sites/default/files/2021-03/SUZUKI%20NEW%20BEST%20125%20NEGRA-min.png",
"id": 4
},
{
"trademark": "HONDA",
"model": "2021",
"reference": "NEW GIXXER 150 ABS",
"price": "8500000",
"image": "https://suzuki.com.co/sites/default/files/2021-05/NEW-GIXXER-150-FI-ABS-NEGRA.png",
"id": 6
},
{
"trademark": "SUZUKI",
"model": "2312saff",
"reference": "14214fdsf",
"price": "589655",
"image": "https://cdn1.coppel.com/images/catalog/pm/5423623-1.jpg",
"id": 7
}
],
"marcas": [
{
"value": "YAMAHA",
"label": "YAMAHA"
},
{
"value": "SUZUKI",
"label": "SUZUKI"
},
{
"value": "HONDA",
"label": "HONDA"
}
],
"bloggers": [
{
"modalTitle": "Edit Blogger",
"id": "1",
"name": "Maria de la cruz",
"website": "www.uanperez.io",
"picture_url": "https://img.freepik.com/foto-gratis/retrato-joven-rubio-mujer_273609-12060.jpg",
"email": "conact@juanperez.io",
"friends": []
},
{
"modalTitle": "Edit Blogger",
"id": "2",
"name": "Amano Pikamee erer",
"website": "pikamee.io",
"picture_url": "https://placekitten.com/200/300",
"email": "contact@pikamee.io",
"friends": [
"1"
]
},
{
"modalTitle": "Edit Blogger",
"id": "3",
"name": "Tony Stark",
"website": "tonystark.io",
"picture_url": "https://upload.wikimedia.org/wikipedia/commons/d/d3/Robert_Downey%2C_Jr._2012.jpg",
"email": "contact@tonystark.io",
"friends": [
"1",
"2"
]
},
{
"modalTitle": "Add Blogger",
"id": "omUcnB8",
"name": "ttt",
"website": "ttt",
"picture_url": "https://images.pexels.com/photos/4519122/pexels-photo-4519122.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
"email": "asdasd",
"friends": []
},
{
"modalTitle": "Add Blogger",
"id": "-NOVfMT",
"name": "Juan Simon",
"website": "asdasd.com",
"picture_url": "https://media.npr.org/assets/img/2013/09/04/trent_baldurbragason_custom-e8040366c23d0710bdc28fd8827badab2110c15d-s800-c85.webp",
"email": "sdsd@live.com",
"friends": []
},
{
"modalTitle": "Add Blogger",
"id": "xq4J2FP",
"name": "Juan M",
"website": "ww.fef.com",
"picture_url": "https://images.unsplash.com/photo-1547425260-76bcadfb4f2c?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8NXx8cGVyc29uYXxlbnwwfHwwfHw%3D&w=1000&q=80",
"email": "valiasdasda@yahoo.com",
"friends": []
}
]
}
Loading