
Adopt a test driven development methodology to clarify requirements and guide implementation through red, green, and refactor cycles, ensuring changes remain safe and code is clean and reusable.
Run the app to serve the public directory, observe live updates as changes restart the app, update the page title, and render dynamic content by defining props and reusable components.
If you see an issue with npm install for backend.zip you can try backend-without-db.zip which requires minimal dependencies.
Build a sign up page in Svelte with test driven development, handle form inputs with state and reactive declarations, style components, submit data via fetch or axios, and test interactions.
Build the sign up form with username, email, password, and password repeat, plus a sign up button, while using describe blocks and label-based tests for accessibility and correctness.
Learn to build form submissions in a Svelte app by wiring an API post with axios, mocking calls in tests, and preventing default submit behavior.
Showcase a sign up success layout that displays the activation email prompt after sign up, with test-driven checks of text presence, conditional rendering, and bootstrap styling.
Refactor tests by extracting repetitive server setup into lifecycle functions, using before all and before each to initialize and reset state, and wait for text results to improve reliability.
Extract the input behavior into a reusable component, wire it to sign up fields with label, id, bound entry, and help text, and ensure tests pass.
Explains styling inputs for validation errors with a red border and is-invalid class, using Bootstrap or custom styles, and discusses testing the input component with Svelte Testing Library.
Replace bind usage with an event listener and custom events in a Svelte app, enabling input change forwarding and centralized form state for username, email, password, and password repeat.
Learn to extract a reusable language selector component from the signup page, integrate it across pages, and manage internationalization state in tests with proper setup and cleanup.
Learn to implement and test client-side local validation messages across languages in a Svelte app using test driven development, including password mismatch translations in Turkish and English.
Learn to implement internationalization by sending a language header with API requests, update axios on locale changes, and drive tests with MSW and test-driven development.
Create and reuse a spinner component in Svelte, with a size prop defaulting to small, applying dynamic classes to pages like sign-up and account activation, and verify tests pass.
List users with pagination on the homepage and open a user page with transition effects. Display a cart and image, and render spinner, profile, or error based on API requests.
Style next and previous buttons with bootstrap classes, place them at left and right bottom corners, and apply in and out fade and fly transitions; remove out animations for tests.
Display default profile images for users using a user-list-item component and binding a user prop; style images as 30px rounded circles with a shadow, swapping to actual images when available.
Master how unique keys in a Svelte keyed each prevent stale state in a user list by using reactive image handling and component reuse.
Implement a progress spinner for the user list during API calls in a Svelte app, controlled by a pending API flag and tested to show during loading and hide after.
Implement and test a user not found flow in a Svelte app using test-driven development, displaying backend error messages and alert feedback.
Create the login form and its test suite in svelte with test driven development, mirroring the sign-up tests to validate the header, inputs, password type, and a disabled login button.
Demonstrate surfacing authentication errors in a test-driven Svelte app by displaying the server message from the response and updating visibility as users edit inputs.
Refactor the login and signup flows by extracting a reusable button with progress component that accepts text, disabled, apiProgress, and onClick, uses a spinner and a slot for button content.
Demonstrates building a reusable card component in Svelte with named and default slots to compose header, body, and footer, and applies conditional rendering based on slot usage across pages.
Master test driven development by building a global store to track login status. Update the navigation with dynamic my profile links based on the logged-in user id.
Demonstrate persisting login state with local storage in a Svelte app, using JSON stringify and parse, and ensure test isolation by clearing storage after each test.
Store user credentials and authorization data in the app state and local storage, including id, user name, image, and token, and set the authorization header for API requests in tests.
The frontend world is having very popular frameworks which are heavily used in most of the applications. Svelte is joining this competition by bringing lots of cool, developer friendly features. After practicing svelte, it will be hard to go back and work with other frameworks. You will be amazed when you see how much you can do with less code.
In this course we will be learning Svelte by creating a web application with it. Also we will apply test driven development (TDD) methodology from beginning to the end.
We will use one of the most popular test libraries of javascript. jest and testing-library
while building this application, we will learn
client-side routing. we will apply our custom implementation then we will use svelte-routing library
internationalization
global state management in a component based application
and we will see
how test driven development works.
how it's affecting our code quality, reusability
how it's giving us the confidence about refactoring our implementation
how to avoid implementation details while creating tests
This course is purely built on practice. Each code piece we write, will be for our actual application implementation.
In each section we will gradually build our application. We will not jump ahead and add functionality not needed for that moment. We will implement one requirement at a time. Each implementation will bring the next requirement to us.
And following this practice, will help you to get a solid foundation about overall web application requirements and how to implement one of them with Svelte by following test driven development methodology.
After completing the course, you will be able to use Svelte in your next project and you will experience the benefits of test driven development.