Vulcan-Starter
Vulcan-Starter copied to clipboard
Getting-Started tutorial: Report and bug list
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
andEdit
buttons, modals open but can't make the actions. Also, after the change is made to permissions.js, theedit
button mentioned beside thenew
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 behindWatchmen
-
[x] Step 19: i18n.js already contains the final code
new movie
and not justnew
. 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 ofin-depth
in the 1. option for next steps.
Thanks do the great feedback! This will really help improve the tutorial :)
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.
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 :(
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
Oh you're right, sorry fixing it now.