Skip to content

Assignment Stef Bekaert - #40

Open
Stefdev13 wants to merge 7 commits into
jackjoe:masterfrom
Stefdev13:master
Open

Assignment Stef Bekaert#40
Stefdev13 wants to merge 7 commits into
jackjoe:masterfrom
Stefdev13:master

Conversation

@Stefdev13

Copy link
Copy Markdown

Intro

Ik heb het assignment afgewerkt.

Eerst en vooral bedankt voor de opportuniteit om mezelf te kunnen trakteren op een spoedcursus Elixir en Phoenix, ik vond het plezant om er eens mee te kunnen werken.

Assignment

Ik heb alle opdrachten kunnen doen:

  • De member rol is toegevoegd.
  • Members hebben geen toegang tot de Stats, Accounts en Users paginas. Niet via de navlinks en niet via de routes.
  • Admins en superusers kunnen rollen bewerken van andere users, maar niet van zichzelf.
  • Ik heb ook enkele testen geschreven.

AI in the workforce

Ik heb cursor in ask mode gebruikt om mij te helpen bij het uitwerken van het assignment.

Voor het starten met het assignment uit te werken heb ik cursor een .md file laten genereren om de codebase wat in kaart te brengen/uit te leggen zodat ik er sneller mijn weg in kon vinden. Dit .md file zit ook in deze pull request.

Tijdens het assignment heb ik cursor voornamelijk gebruikt om:

  • Aspecten (architectuur, functies, etc...) van Elixir en Phoenix uit te leggen en me ermee op weg te helpen.
  • Stukken code te checken en eventueel meer Elixir-approved te maken.

Aan het einde van het assignment heb ik ook nog een code review laten uitvoeren door cursor.

Notities

Je kan ook mijn notities die ik gemaakt heb bij het assignment hier lezen: link.

- Added member role
- Added a check on the relevant navlinks to only be present when the user in not a member
- Added new Plug "redirect_member" to redirect members to events page if they go to non-allowed url
- Added the new Plug to the router and split the scope into 2 scopes: 1 for all user-roles and 1 for admin and superuser only
- Added role update functionality in backend and frontend
- Changed current_roles to a map
- Changed select to several checkboxes
- Changed updating logic accordingly
- Changed formatting on roles in user/index.html.heex
- Changed logic for blocking members from special pages (from if role == :member to if role != :superuser or :admin)
- Added the member role to the seeder
- Added blocking of updating your own roles in the update route on the user_controller
- Created a conn_case file
- Created 4 tests:
   - Admin kan rollen van andere users aanpassen
   - Superuser kan rollen van andere users aanpassen
   - Admin kan eigen rollen niet aanpassen
   - Superuser kan eigen rollen niet aanpassen
Most of the code for these tests was generated by cursor with me orchestrating, testing and fixing it where it went wrong.
This file was generated at the start of working on the case for me to get an understanding of the codebase
Ran a code review in cursor and fixed an non-breaking issue it flagged.
@jeroenbourgois

Copy link
Copy Markdown
Member

Bedankt @Stefdev13 ! We bekijken dit spoedig.

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.

2 participants