commit 8bbdeafe9c3305de4e2e9363f0a4bae745cf0c16 Author: wsc-training Date: Sun Apr 12 18:58:03 2026 +0900 commit for day 1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5135375 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +node_modules +*.xls* +media + +module_c/* +!module_c/.gitkeep + +module_d/* +!module_d/.gitkeep \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..f321b1b --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +## ๐Ÿš€ mini-test-project 2 Release + +The media files will be released right before the competition starts. +The details for Modules C and D will be published on the afternoon of April 13th. + +* ๐Ÿ“ฆ **[Module A](./module-a)** โ”€ `โฑ๏ธ 3h` +* ๐Ÿ“ฆ **[Module B](./module-b)** โ”€ `โฑ๏ธ 3h` +* ๐Ÿ“ฆ **[Module C](./module-c)** โ”€ `โฑ๏ธ 3h` +* ๐Ÿ“ฆ **[Module D](./module-d)** โ”€ `โฑ๏ธ 3h` \ No newline at end of file diff --git a/module-a/module-a-en.md b/module-a/module-a-en.md new file mode 100644 index 0000000..ad26aba --- /dev/null +++ b/module-a/module-a-en.md @@ -0,0 +1,293 @@ +# โšก Test Project: Module A โ€” Speed Test + +## 1. Project Overview + +This assessment is a **Speed Test** designed to quickly and accurately evaluate practical proficiency across web technologies. Competitors must complete a total of 20 independent tasks across four categories โ€” **A (Design)**, **B (Layout)**, **C (Frontend)**, and **D (Backend)** โ€” within the allotted time. Each task is independent and may be attempted in any order. + +--- + +## 2. Tech Stack & Constraints + +| Category | Allowed Technologies | Restrictions | +| :--- | :--- | :--- | +| **A. Design** | GIMP | No other image editors (e.g., Photoshop) permitted | +| **B. Layout** | HTML, CSS | JavaScript is not permitted | +| **C. Frontend** | JavaScript (Vanilla) | No external libraries or frameworks permitted | +| **D. Backend** | PHP, MySQL | Database must be connected using PDO | + +* All deliverables will be evaluated in a desktop Chrome browser. +* Save each task's deliverable in a subdirectory named after the task ID under `/module_a/`. (e.g., `/module_a/a1/`, `/module_a/b1/`) +* Design tasks must include the GIMP source file (`.xcf`) in the submission directory. + +--- + +## 3. Tasks + +### ๐ŸŽจ A. Design โ€” GIMP Proficiency + +> **Provided files**: Files for A1 (`source.png`), A2 (`base.jpg`), and A3 (`photo.jpg`, `mask.png`) are pre-placed in each task's working directory. A4 and A5 have no provided files; competitors must create all assets from scratch. + +#### **A1. Layer Compositing and Text Placement** `Easy` + +Create an image in GIMP using a layered structure. + +* Canvas size: **800ร—400px**, Resolution: **72dpi** +* **Layer 1**: Fill the background with the solid color `#2C3E50`. +* **Layer 2**: Open the provided image (`source.png`), place it at the **center** of the canvas, and set its opacity to **70%**. +* **Layer 3**: Add the text **"Hello, GIMP"** in white (`#FFFFFF`) at 36pt, and position it at the top-left of the canvas **(x: 20px, y: 20px)**. +* Save the project as a `.xcf` file first. Then flatten all layers (Flatten Image) and export the result as `result.png`. + +#### **A2. Selection and Layer Compositing** `Easy` + +Apply shape effects to an image using GIMP's selection tools and layers. + +* Open the provided image (`base.jpg`) as the background layer. +* **Effect 1**: Add a new layer. Use the Rectangle Select tool to select the region from **(0, 0) to (200, 200)** in the top-left corner, fill it with `#E74C3C`, and set this layer's opacity to **60%**. +* **Effect 2**: Add another new layer. Create an elliptical selection with a diameter of **150px** at the **center** of the image. Go to `Selection โ†’ Border`, set the border width to **3px**, and fill the resulting selection with `#FFFFFF`. +* Save the project as a `.xcf` file first. Then flatten all layers (Flatten Image) and export the result as `result.jpg`. + +#### **A3. Color Correction and Layer Mask** `Normal` + +Apply color correction and a layer mask to the provided image (`photo.jpg`) in GIMP. + +* **Color correction**: Use the Hue-Saturation tool to increase Saturation by **+40**. +* **Curves adjustment**: Use the Curves tool to raise the output value of highlights by **+20 or more** and lower the output value of shadows by **-20 or less** to increase contrast. +* **Layer mask**: Add a layer mask to the image layer. Paste the provided mask image (`mask.png`) into the mask layer so that the background outside the subject is removed. +* Save the project as a `.xcf` file first. Then export the result as `result.png`, ensuring the transparent background is preserved (PNG format). + +#### **A4. Text Effect and Glow** `Normal` + +Apply a glow visual effect to text in GIMP. + +* Canvas size: **600ร—200px**, Background color: `#1A1A2E` +* Add the text **"SPEED TEST"** in white (`#FFFFFF`), Bold, 60pt, centered on the canvas. +* Duplicate the text layer and place the duplicate **below** the original text layer. +* Rasterize the duplicate layer (Layer โ†’ Rasterize). In the Layers panel, set the duplicate layer's **Mode** to **`Color`** first. Then set the foreground color to `#4A90D9` and apply `Edit โ†’ Fill with Foreground Color` so the blue color is applied. +* Apply **Gaussian Blur** with a radius of **8px** to the duplicate layer to complete the outer glow effect. +* Save the project as a `.xcf` file first, then export the result as `result.png`. + +#### **A5. Text Warp and Filter Effects** `Hard` + +Rasterize text and apply a combination of Distorts filters in GIMP to create visual distortion effects. + +* Canvas size: **800ร—300px**, Background color: `#0D0D0D` +* Add the text **"DISTORTION"** in white (`#FFFFFF`), Bold, 72pt, centered on the canvas. +* Rasterize the text layer (Layer โ†’ Rasterize). +* Apply the following two Distorts filters to the rasterized text layer in order: + * **Ripple**: Amplitude **8**, Wavelength **40**, Orientation: Horizontal + * **Whirl and Pinch**: Whirl angle **20** degrees, Pinch **0**, Radius **1.0** +* Duplicate the distorted text layer. Apply **Gaussian Blur** with a radius of **3px** to the duplicate, then place the duplicate **below** the original layer to create a ghosting effect. +* Save the project as a `.xcf` file first, then export the result as `result.png`. + +--- + +### ๐Ÿ“ B. Layout โ€” HTML / CSS Only + +#### **B1. Flexbox Card Layout** `Easy` + +Build a card list layout using HTML and CSS only. + +* Use **Flexbox** to arrange cards **4 per row**. (Use `flex-wrap: wrap`) +* Each card must contain: an image area (`
`, height **160px**, with a background color), a title (`

`), body text (`

`), and a button (`