Skip to content

feat: language switching - #53

Merged
AlyaEngineer merged 11 commits into
feature/7-general-requirementsfrom
story/7-language-switching
Jun 30, 2026
Merged

feat: language switching#53
AlyaEngineer merged 11 commits into
feature/7-general-requirementsfrom
story/7-language-switching

Conversation

@YuliaDemir

Copy link
Copy Markdown
Collaborator

Summary

Initial project setup and development tooling configuration.
This PR prepares the application foundation for further feature development with Next.js, TypeScript, code quality tools, Redux, path aliases, and pre-commit checks.

Changes Made

  • Added Next.js with TypeScript setup
  • Added ESLint configuration
  • Added Perfectionist plugin for consistent import and object sorting
  • Added Prettier configuration for code formatting
  • Added Husky with pre-commit hook
  • Added Redux setup for global state management
  • Added path aliases for cleaner imports

Related issue

Closes #8

Feature

Feature 7: General Requirements

Acceptance criteria

Feature 1: App Header
  • Non-auth users see Sign In / Sign Up in header (upper right) — 15
  • Auth users see History / Sign Out in header — 10
  • About link in header and footer — 10
  • Expired/invalid token → redirect from private routes to Main — 10
  • Sign In / Sign Up buttons redirect to respective form route — 15
Feature 2: Sign In / Sign Up
  • Sign In / Sign Up / Sign Out buttons present everywhere they should be — 10
  • Client-side validation (email, password: 8+ chars, letter+digit+special, Unicode) — 20
  • Successful login → redirect to Main — 10
  • Logged-in user on Sign In / Sign Up routes → redirect to Main — 10
Feature 3: Swagger Editor
  • Load/paste schema in JSON and YAML — 25
  • Auto-detect input format (JSON vs YAML) — 20
  • Format switch with JSON ↔ YAML conversion, no data loss — 20
  • Schema validation with error indication — 15
  • Auth users save schema; restored on next login — 10
  • Viewer auto-populates with endpoints on valid schema — 10
  • Responsive split view (horizontal/vertical by orientation) — 20
Feature 4: Swagger Viewer
  • Endpoint list organized by path/method — 20
  • Details: method, path, all param types (path/query/header/cookie) — 25
  • Request schema and example payloads displayed — 20
  • Response schema, examples, all status codes displayed — 25
  • Try-It-Out: fill params/headers/body, execute, show response — 20
  • Generate cURL + copy-to-clipboard — 10
Feature 5: History and Analytics
  • SSR-generated; empty state with links to editor/viewer — 15
  • Requests sorted by timestamp (most recent first) — 10
  • Server-side analytics: duration, status, timestamp, method, request size, response size, error details, endpoint/URL — 45
Feature 6: About Page
  • Public route, accessible to all — 5
  • Info about RS School course — 5
  • Team info (names, roles, GitHub links) — 10
  • Design consistent with the app — 5
Feature 7: General Requirements
  • i18n: 2+ languages with toggler in header — 30
  • Sticky header with animation on stick — 10
  • User-friendly error display — 10
  • Private routes protected (401 if not authenticated) — 5
Feature 8: YouTube Video
  • 5–7 min YouTube walkthrough linked, covers all criteria — 50

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would break existing functionality)
  • Documentation update

Checklist

  • Self-review done
  • No console errors / warnings / logs
  • No any / @ts-ignore
  • Tests added / updated and passing

@vercel

vercel Bot commented Jun 30, 2026

Copy link
Copy Markdown

@YuliaDemir is attempting to deploy a commit to the alyaengineer's projects team on Vercel, but is not a member of this team. To resolve this issue, you can:

  • Make your repository public. Collaboration is free for open source and public repositories.
  • Upgrade to pro and add @YuliaDemir as a member. A Pro subscription is required to access Vercel's collaborative features.
    • If you're the owner of the team, click here to upgrade and add @YuliaDemir as a member.
    • If you're the user who initiated this build request, click here to request access.
    • If you're already a member of the alyaengineer's projects team, make sure that your Vercel account is connected to your GitHub account.

To read more about collaboration on Vercel, click here.

@AlyaEngineer AlyaEngineer added the feature-7-general Feature 7: General Requirements label Jun 30, 2026
@AlyaEngineer AlyaEngineer added this to the Week 1 - 22/06 - 28/06 milestone Jun 30, 2026
@AlyaEngineer
AlyaEngineer self-requested a review June 30, 2026 13:19

@AlyaEngineer AlyaEngineer left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

всё строго по документации, отличная работа!

@vercel

vercel Bot commented Jun 30, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
swagger-editor-app Error Error Jun 30, 2026 1:44pm

@AlyaEngineer
AlyaEngineer merged commit 8a41799 into feature/7-general-requirements Jun 30, 2026
1 of 2 checks passed
@AlyaEngineer
AlyaEngineer deleted the story/7-language-switching branch July 2, 2026 08:21
AlyaEngineer added a commit that referenced this pull request Jul 8, 2026
* feat: language switching (#53)

* feat: install next+ts+linter+prettier+ husky+redux

* feat: configs + perfectionist + lint fix

* feat: install scss

* refactor: add some folders

* feat: install i18n + basic configs

* feat: add internatiolisation

* feat: language switcher

* feat: dependencies update

* fix: delete scss + delete unnecessary files

* fix: delete unnecessary layout

* feat: user friendly errors (#58)

* feat: add error page component

* test: add tests for error page component

* feat: add global error page component

* test: add tests for global error page component

* feat: implement toast provider and toast component

* test: add tests for toast provider and toast component

* feat: add toaster messages dictionary

* chore: add coderabbit config

* fix: fix .coderabbit.yaml instruction

* fix: add target branches for review to instructions

* fix: move console.error into useEffect

* fix: ignore clickaway on close

* test: add test for onClose on clickaway

* fix: memoize showToast and context value with useCallback/useMemo

* fix: remove duplicate dependency entries from devDependencies in package.json

* fix: pass showToast function directly to context instead of memoized object wrapper

* fix: split combined toast state into three separate useState calls

* refactor: extract error page props into named Props type

* fix: fixes with Prettier

* feat: integrate ToastProvider into app layout

* refactor: extract shared ErrorCard component and align with MUI theme

* refactor: rename ErrorCard props

* fix: add suppressHydrationWarning to html tag to prevent expected mismatch

* refactor: move Header and Footer into root layout

* fix: wrap main content in semantic main element

* fix: add borderBottom to AppBar in header

---------

Co-authored-by: YuliaDemir <129578495+YuliaDemir@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature-7-general Feature 7: General Requirements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants