Arquisoft / wiq_en1b

wiq_en1b
https://youtu.be/r2XqDUHj3zU
0 stars 1 forks source link

Mario's Self Report - Fourth Deliverable #139

Open lauratbg opened 2 months ago

Mister-Mario commented 2 months ago

For this delivery, my work has consisted in adding details to make the application shine

User

  1. Reworked User Handling:

    • Transitioned from using context to cookies for managing user sessions.
  2. Access Restrictions:

    • Secured the web app to require user registration or login to access all routes, except:
      • /home
      • /login
      • /adduser
    • Implemented token-based authentication for certain endpoints, with tokens issued upon registration or login.
  3. Added Email to Users:

    • Allows logging in with a username or email and other functionalities.
  4. Testing:

    • Unit tests for all new components and past ones with conflicts.
    • End-to-end (e2e) tests for build and deploy pipelines.

These updates are detailed in issue #88, and the commits can be seen on the associated branch.

Questions and Ranking

With the help of @uo289267:

  1. Questions Customization:

    • Increased the number of endpoints to ask for a specific type and number of questions.
  2. Ranking:

    • A top-10 endpoint retrieves the top 10 players based on points.
    • An endpoint to retrieve information on a specific user.
  3. Webapp:

    • Fixed how the new endpoints were called.
    • Modified the view.
    • Fixed and tested the ranking's search functionality.

These updates are detailed in issue #83, and the commits can be seen on the associated branch.

Play as Guest

Alongside @uo289267, the "play as guest" functionality was implemented by unrestricting parts in the web app and backend. These updates are detailed in issue #120, and the commits can be seen on the associated branch.

Forget Password

  1. Backend:

    • New endpoints in the backend to:
      • Send emails with codes.
      • Get a token from a code.
      • Change the password with a token.
  2. Webapp:

    • With the help of @uo289267, created views to call the new backend endpoints.

These updates are detailed in issue #132, and the commits can be seen on the associated branch.

Variety

  1. Open API Documentation:

    • Assisted @ErdemYabaci with API documentation (see issues #105 and #123).
  2. Tests:

    • Assisted @lauratbg and @uo289267 with front-end tests, both unit and e2e.
  3. URL:

    • Added a name to our IP using no-IP.
    • Moved the web app from port 3000 to port 80.