Vulcan-Starter icon indicating copy to clipboard operation
Vulcan-Starter copied to clipboard

Getting-Started tutorial: Report and bug list

Open Apollinaire opened this issue 7 years ago • 6 comments

General thoughts

Excellent tutorial, good walkthrough of the framework for level zero beginners. The way it's done makes it really to understand the global architecture of the framework, it's better than other tutorials for this. Took me approx. two hours, including the making of this report and playing with the bugs

Suggestions and issues met during the tutorial

  • [ ] React is running on dev mode: problem or not?

  • [x] Display step number in the title, the side menu isn't enough to know where you are

  • [ ] Step 2: make ppl write the route for step 3, not just uncomment it, so they understand what arguements passed to addRoute.

  • [x] Step 7: a zero is displayed before completing the step: weird

  • [x] Step 11: uncommenting fragment makes the movies names disappear

  • [x] Step 12: fragments.js seems being already changed in the starter repo, don't know what to change in it. the only difference with the example given in step 12 is the createdAt field. Names display before we modify the fragment.

  • [x] Step 15: The file to put the code snippet in is wrong, it says step12.jsx. I guessed it was in the moviesNew.jsx and not in Step12.jsx as supposed. Also i don't understand the mention of the MoviesList component.

  • [x] Step 16: name and review are not searchable in the schema, which crashes the app when you try searching without changing the schema first. Maybe make the name searchable and suggest to try it on the review?

  • [ ] Step 17: second account and unsigned user seeing the new movie and Edit buttons, modals open but can't make the actions. Also, after the change is made to permissions.js, the edit button mentioned beside the new button doesn't appear.

  • [ ] Step 18: data is not sorted in chronological order originally, the movies i added were mixed up with the seeded ones, and the order inside the ones i added was not chronological either.

  • [x] Step 18 again: seems that the alphabetical search is case sensitive, and puts lowercase behind uppercase. Ex: guardians of the galaxy would be sorted behind Watchmen

  • [x] Step 19: i18n.js already contains the final code new movie and not just new. Similar to step 12 issue. Also, maybe get more in-depth with i18n by explaining how to use another module, or to set up the locale? Maybe translate the button into another language?

  • [x] Step 20: typo: in-deoth instead of in-depth in the 1. option for next steps.

Apollinaire avatar Jan 25 '18 12:01 Apollinaire

Thanks do the great feedback! This will really help improve the tutorial :)

SachaG avatar Jan 25 '18 12:01 SachaG

Oh actually I forgot that parts of the tutorial relied on the main repo's devel branch, so ideally you need to use the 2-repo install to do it. Or I can try to push an update soon.

That explains a few of the issues you mention, like the sorting for example.

SachaG avatar Jan 25 '18 13:01 SachaG

React is running on dev mode: problem or not?

I think that's normal when running locally.

Step 2: make ppl write the route for step 3, not just uncomment it, so they understand what arguements passed to addRoute.

I agree this would be better but having it commented out makes it easier for me to go back and forth between the non completed/completed states of each step.

Step 11: uncommenting fragment makes the movies names disappear

Hmm I couldn't reproduce that…

Step 18 again: seems that the alphabetical search is case sensitive, and puts lowercase behind uppercase. Ex: guardians of the galaxy would be sorted behind Watchmen

This is a limitation of MongoDB :(

SachaG avatar Jan 26 '18 02:01 SachaG

Step 11: uncommenting fragment makes the movies names disappear

Hmm I couldn't reproduce that…

It got fixed with this commit 7150e23c41ed2c7551b48ac7d70275b3d68c0f65 user {displayName} in fragments.js was the source of the problem, if you run step 11 with this fragment:

fragment MoviesFragment on Movie {
    _id
    createdAt
    name
    user{
      displayName
    }
  }

The names of the movies disappear. But if you comment out user {displayNames} the names of the movies show as they should.

Isn't it a bit fun that adding fields to a fragment breaks its use? Edit: it's because it breaks the graphQL query : Cannot query field "user" on type "Movie" because the we have not setup the resolveAs for the userId field

Apollinaire avatar Jan 26 '18 09:01 Apollinaire

image

darwis059 avatar Jan 27 '18 23:01 darwis059

Oh you're right, sorry fixing it now.

SachaG avatar Jan 28 '18 02:01 SachaG