Skip to content

RestApiClient#7

Open
ksarise wants to merge 5 commits into
mainfrom
develop
Open

RestApiClient#7
ksarise wants to merge 5 commits into
mainfrom
develop

Conversation

@ksarise

@ksarise ksarise commented Sep 7, 2025

Copy link
Copy Markdown
Owner
  1. Task
  2. Screenshot:
Снимок экрана 2025-09-21 121320 image image image image image
  1. Done 21.09.2025 / deadline 22.09.2025

  2. Deploy

  3. YouTube video

  4. Score 500 / 500

Main route

  • The Main page should contain general information about the developers, project, and course. - 10 points
  • In the upper right corner there are 2 buttons: Sign In and Sign Up. - 10 points
  • If the user is authorized, there should be a Main Page button instead of Sign In and Sign Up buttons in the upper right corner. - 10 points
  • If the token is expired/invalid - the user should be redirected from the private routes to the Main page (it might happen either automatically, on page refresh or on route change). - 10 points
  • Pressing the Sign In / Sign up button redirects a user to the route with the Sign In / Sign up form. - 10 points

Sign In / Sign Up

  • Buttons for Sign In / Sign Up / Sign Out are everywhere where they should be. - 10 points
  • Client-side validation is implemented. - 20 points
  • Upon successful login, the user is redirected to the Main page. - 10 points
  • If the user is already logged in and tries to reach these routes, they should be redirected to the Main page. - 10 points

RESTful client

  • Functional editor enabling query editing and prettifying, request body provided in the URL as base64-encoded on request submit. - 35 points
  • Functional read-only response section, with information about HTTP status and the code. - 30 points
  • Method selector, shows all the valid HTTP verbs, value is provided in the URL on request submit. - 15 points
  • Input for the URL, entered value is provided in base64-encoded way on request submit. - 20 points
  • Headers section, value is provided in the URL on request submit. - 20 points
  • Code generation section. - 30 points

History and analytics route

  • History and analytics is server-side generated and shows informational message with links to the clients when there are no requests in the database. - 20 points
  • User can navigate to the previously executed HTTP request to the RESTful client, HTTP method, URL, body, headers are restored. - 30 points
  • The following analytics are recorded to the database from the application server side and displayed to the user: request duration, response status code, request timestamp, request method, request size, response size, error details, endpoint/URL. - 50 points

Variables route

  • Variables show all the added variables, restores them from the local storage on load. - 15 points
  • User can add new, or delete an existing variable, variables in the local storage are updated on change. - 15 points
  • Variables are used in the request before the request execution. - 20 points

General requirements

  • Multiple (at lest 2) languages support / i18n. - 30 points
  • Sticky header. - 10 points
  • Errors are displayed in the user friendly format. - 10 points
  • Youtube video - max 50 points
  • Test coverage 93%

* chore: set up next

* chore: add commit and branch name convention

* chore: set up eslint, prettier, lint-staged

* chore: set up tests

* chore: add daisyui

* docs: add pr template

* fix: add minor config fixes

* fix: add small fix for husky hook

* fix: create path fix for deploy

* fix: add fix for deploy #2
@vercel

vercel Bot commented Sep 7, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
rest-client-app Error Error Mar 19, 2026 9:51am

* feat: main page implementation (#2)

* feat: add custom favicon

* feat: implmenet Footer

* feat: add Header

* test: update test for page

* fix: add all nessesary buttons for header

* fix: replace dropdowm element

* fix: replace course logo

* feat: implement profile cards with styling

* feat: fill main page with content

* style: add responsive styles for header

* style: add responsive for footer

* style: add responsive for main page content

* refactor: delete comment

* fix: correct configurations for tailwind

* test: update tests for main page

* style: make prettier

* feat: not-found page implementation (#3)

* feat: implement not-found page

* test: add test for 404 page

* style: add animation for image

* style: fix height for footer and 404 page

* feat: add global not-found page

* feat: implement email/password sign-in & sign-up with validation, redirects, forgot-password (#4)

* feat(auth): implement email/password auth with validation and redirects

* test: add unit tests and coverage; mock firebase and next/navigation

* style: switch to Tailwind v4 directives and polish layout

* refactor(header): update auth controls and links

* chore: commit shared Firebase web config in .env

* refactor: extract password regex and auth error map to constants

* feat: add useAuthExpiryRedirect hook and AuthExpiryClient

* feat: i18n EN/RU, providers, header toggle, translated auth forms (#5)

* style: switch to Tailwind v4 directives and polish layout

* refactor: extract password regex and auth error map to constants

* i18n: EN/RU, providers, hooks, tests

* test: fix Header & RootLayout tests for i18n labels; update LanguageSwitcher UX

* fix: fix hard redirect; fix deploy routes; delete mistyped notfound

* test: fix use-auth-expiry hook test

---------

Co-authored-by: sergkrav.social@gmail.com <sergkrav.social@gmail.com>

* refactor: make code more readable

---------

Co-authored-by: Abramova Elizaveta <153509608+ElizavetaAbramova@users.noreply.github.com>
Co-authored-by: InnaSodri <157278137+InnaSodri@users.noreply.github.com>
Co-authored-by: Abramova Elizaveta <a.d.elizaveta@gmail.com>
* feat: add functional query editor with prettifying in UI (#8)

* feat: implement body editor with base64url save on blur, restore on load, prettify, and indicators

* feat: add live JSON validation with hints and disable prettify when invalid

* feat: add read only response section (#9)

* feat: implement read-only response flow and wire into client page

* test: add coverage for RequestRunner, ResponsePanel, HeadersEditor, RequestLine, and url state

* feat: code generation section (#10)

* feat: main page implementation (#2)

* feat: add custom favicon

* feat: implmenet Footer

* feat: add Header

* test: update test for page

* fix: add all nessesary buttons for header

* fix: replace dropdowm element

* fix: replace course logo

* feat: implement profile cards with styling

* feat: fill main page with content

* style: add responsive styles for header

* style: add responsive for footer

* style: add responsive for main page content

* refactor: delete comment

* fix: correct configurations for tailwind

* test: update tests for main page

* style: make prettier

* feat: not-found page implementation (#3)

* feat: implement not-found page

* test: add test for 404 page

* style: add animation for image

* style: fix height for footer and 404 page

* feat: add global not-found page

* feat: implement email/password sign-in & sign-up with validation, redirects, forgot-password (#4)

* feat(auth): implement email/password auth with validation and redirects

* test: add unit tests and coverage; mock firebase and next/navigation

* style: switch to Tailwind v4 directives and polish layout

* refactor(header): update auth controls and links

* chore: commit shared Firebase web config in .env

* refactor: extract password regex and auth error map to constants

* feat: add useAuthExpiryRedirect hook and AuthExpiryClient

* feat: i18n EN/RU, providers, header toggle, translated auth forms (#5)

* style: switch to Tailwind v4 directives and polish layout

* refactor: extract password regex and auth error map to constants

* i18n: EN/RU, providers, hooks, tests

* test: fix Header & RootLayout tests for i18n labels; update LanguageSwitcher UX

* fix: fix hard redirect; fix deploy routes; delete mistyped notfound

* test: fix use-auth-expiry hook test

---------

Co-authored-by: sergkrav.social@gmail.com <sergkrav.social@gmail.com>

* feat: main page implementation (#2)

* feat: add custom favicon

* feat: implmenet Footer

* feat: add Header

* test: update test for page

* fix: add all nessesary buttons for header

* fix: replace dropdowm element

* fix: replace course logo

* feat: implement profile cards with styling

* feat: fill main page with content

* style: add responsive styles for header

* style: add responsive for footer

* style: add responsive for main page content

* refactor: delete comment

* fix: correct configurations for tailwind

* test: update tests for main page

* style: make prettier

* feat: not-found page implementation (#3)

* feat: implement not-found page

* test: add test for 404 page

* style: add animation for image

* style: fix height for footer and 404 page

* feat: add global not-found page

* feat: implement email/password sign-in & sign-up with validation, redirects, forgot-password (#4)

* feat(auth): implement email/password auth with validation and redirects

* test: add unit tests and coverage; mock firebase and next/navigation

* style: switch to Tailwind v4 directives and polish layout

* refactor(header): update auth controls and links

* chore: commit shared Firebase web config in .env

* refactor: extract password regex and auth error map to constants

* feat: add useAuthExpiryRedirect hook and AuthExpiryClient

* feat: i18n EN/RU, providers, header toggle, translated auth forms (#5)

* style: switch to Tailwind v4 directives and polish layout

* refactor: extract password regex and auth error map to constants

* i18n: EN/RU, providers, hooks, tests

* test: fix Header & RootLayout tests for i18n labels; update LanguageSwitcher UX

* fix: fix hard redirect; fix deploy routes; delete mistyped notfound

* test: fix use-auth-expiry hook test

---------

Co-authored-by: sergkrav.social@gmail.com <sergkrav.social@gmail.com>

* docs: add netlify to a project

* refactor: make code more readable

* chore: add postman-code-generators in the project

* feat: add basic structure for code generator

* feat: update snippets instantly on any form changes

* refactor: add label for select and button

* refactor: move prop type in separate file

* test: add test for code generator

* refactor: delete unused page

* feat: add code generator to client page

* refactor: export parseHeaders function

* refactor: replace props-based state with hash-based state

---------

Co-authored-by: InnaSodri <157278137+InnaSodri@users.noreply.github.com>
Co-authored-by: sergkrav.social@gmail.com <sergkrav.social@gmail.com>

* fix: method section (#11)

* fix: fix body request transition

* test: fix tests for code generator

* refactor: migrate request runner to fsd

* fix: fix lint errors for deploy

* fix: fix request tests

* fix: delete default header in code generator

---------

Co-authored-by: Abramova Elizaveta <a.d.elizaveta@gmail.com>

---------

Co-authored-by: InnaSodri <157278137+InnaSodri@users.noreply.github.com>
Co-authored-by: Abramova Elizaveta <153509608+ElizavetaAbramova@users.noreply.github.com>
Co-authored-by: Abramova Elizaveta <a.d.elizaveta@gmail.com>
* feat: history and analytics (#13)

* feat: add link to history route in header

* refactor: delete unused styles configurations

* feat: add basic page for /history route

* feat: add node-postgres in the project

* feat: add fetching and loading user history

* feat: add saving in database

* feat: add requests to database

* feat: implement saving requests in data base

* fix: correct path to sign-in page

* feat: implement SSR for history table

* feat: implement SSR for page with empty history

* refactor: delete logs

* refactor: move fetchHistory to separate file

* test: update tests

* test: fix test for requestLine

* fix: change type of params

* feat: add error details in history table

* fix: correct tests

* fix: change parsing headers

* feat: add lazy loading for client and history pages

* chore: fix eslint config and update lazy loading pages

* test: add coverage for auth redirect, gated routes, and body component

* fix: add suspense for authForm

---------

Co-authored-by: InnaSodri <turorainna@gmail.com>

* feat: implement variables management and request autoinsert (#14)

* feat: implement variables management and request autoinsert

* refactor: add types for postman-code-generators

* refactor: migrate authform to fsd; remove god object

* refactor: split utils from god objects

* fix: fix request types

---------

Co-authored-by: Abramova Elizaveta <a.d.elizaveta@gmail.com>

---------

Co-authored-by: Abramova Elizaveta <153509608+ElizavetaAbramova@users.noreply.github.com>
Co-authored-by: InnaSodri <turorainna@gmail.com>
Co-authored-by: Abramova Elizaveta <a.d.elizaveta@gmail.com>
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