Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new backend challenge draft #15

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft

Conversation

hidalgofdz
Copy link
Member

@hidalgofdz hidalgofdz commented Nov 3, 2020

Primer draft del nuevo challenge de backend

Notion del challenge (aún sin actualizar): https://www.notion.so/yellowme/Backend-Project-Challenge-1541f42fe92d487f8f2db932d0f22bc8

  • Agregar en notion la lista de preguntas a hacer para evaluar el challenge básico
  • Agregar en notion la lista de preguntas a hacer dependiendo el bonus que haya realizado el candidato

Copy link

@jpintor52 jpintor52 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Solo algunos puntos en la redacción. Esta muy bueno el challenge. Solo una duda, es un challenge general en donde iremos ajustando según el seniority buscado?

## Actors

### Visitor
Is any person that wants to read the articles published in the API. It doesn't have to authenticate herself to do it.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't have to authenticate herself => It doesn't have to be authenticated


### Writer

Is a person that have the permission to create new articles in our API. It has to authenticate herself in order to create, edit and publish articles.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It has to authenticate herself => It has to be authenticated

- [ ] Add a view to list all the URLs and their short versions.
- [ ] Update the list of user stories, and the API documentation if we add a new actor called Admin that is the only one with the permission to publish articles but only when an article is "ready to review". Think about how that new actor will change your current implementation and what changes you will need to do.
- [ ] Deploy the API in a Platform as a Service (Heroku, Blue Ocean, AWS, GCloud, etc)
- [ ] Dockerize the development environment so the database, programming language version, etc lives in a container. The idea is that when a new developer starts on the project she will not have to configure the development environment by hand.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when a new developer starts on the project she will not => when new developers starts on the project they will not

Copy link
Member

@rejonpardenilla rejonpardenilla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey! I think this is great. I made some comments and questions; A couple of typos and some questions about the challenge. This is looking great!!


We want to create an API that allow us to handle articles that could be shown in many clients like mobile apps, websites, text to speech apps, etc.

For this challenge assume that the writers are already store in the application database. You don't need to create a registration endpoint.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's already stored doesn't it?


## API Specification

We want to create an API that allow us to handle articles that could be shown in many clients like mobile apps, websites, text to speech apps, etc.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had a challenge like this a couple of months ago and it what I like about the introduction is that they give me a lot of bussiness context.
For example: Yellowme runs a web blog where the developers like to upload all sort of articles like "10 common backend issues" and "Personas: A great UX technique". Now it needs a backend API that....

I think this could help the candidate understand the requirements and the interviewer see the candidate problem solving in context.

What do you think? I could help you write this introduction if you like 😄


### Article

An article can be on two possible states. The first one is **drafted** that means that only the writer can see it. The second one is "published" that means that everyone can see it.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for consistency: Maybe use quotes or bold text on the status names.

- first name
- last name

## User Stories
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this a lot. Writing this as user stories makes them easier to write better tests.

How much time the candidate have to complete this challenge?


## Bonus
Take 1 or 2, we don't expect for you to do everyone of them.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this everyone should be separated. "we don't expect for you to do every one of them" but I'm not that sure. 🤔

- [ ] Deploy the API in a Platform as a Service (Heroku, Blue Ocean, AWS, GCloud, etc)
- [ ] Dockerize the development environment so the database, programming language version, etc lives in a container. The idea is that when a new developer starts on the project she will not have to configure the development environment by hand.
- [ ] Write down every tool or methodology that you know for improving backend developer happiness explaining why you think they are necessary.
- [ ] Create a deployment pipeline that runs linters, tests, ect every time any branch is push it to the repository. In addition, when a PR is merged to master(main) branch then the app should be deployed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: ect => etc


- title
- body
- published date
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be on underscore?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants