MY PROJECTS
Library
Single-page application for managing authors and their books. Built as a test assignment for CyberBionic Systematics internship program.
Functionality:
- Full CRUD for authors, books and genres
- Form validation with error messages
- Column sorting in tables
- Book search by title
- Data persistence via LocalStorage
- Modal dialogs for forms
Angular 21TypeScriptAngular SignalsAngular CDK DialogReactive Forms Angular RouterBootstrap 5 LocalStorage
AI job search
job search site using artificial intelligence. after filling out the form, artificial intelligence searches for the desired vacancy on the Internet and as a result provides links to vacancies. after the first launch of the project, you need to wait 30-60 seconds for the backend server to start
Functionality:
- 3-step wizard form for selecting search parameters
- Level selection (Intern/Junior/Middle/Senior)
- Choosing a direction (Frontend, Backend, DevOps, etc.)
- Choosing a technology stack
- Choice of work format, employment, English level
- AI filtering of results via Google Gemini
- Search for vacancies via SerpAPI on djinni.co, dou.ua, work.ua
Angular 21TypeScriptHttpClientRxJS (Observable, map)Angular RouterNode.jsExpress.jsGoogle Gemini APISerpAPIdotenvCORSVercelRender
To-Do List
Task management application with priorities, filtering, and synchronization with REST API.
Functionality:
- Adding a task with a name and priority (low/medium/high)
- Deleting a task
- Editing the task name by double-clicking
- Marking a task as completed via checkbox
- Filtering — all / active / completed
- Automatic sorting by priority (highest at the top)
- Saving data in LocalStorage
- Initial task loading with JSONPlaceholder API
Angular 21TypeScriptHttpClient (REST API)RxJS (Observable, tap, of)LocalStorage JSONPlaceholder API
Clock app
world time timer and stopwatch app
Functionality:
Global Time:
- Display of current time (Kyiv)
- Adding clocks for different cities around the world (Kyiv, London, New York, Tokyo)
- City selection modal window
- Real time updated every second
Timer:
- Manual time setting (hours, minutes, seconds)
- Start / Pause / Reset
- Notification when time is up
Stopwatch:
- Start / Stop / Reset
- Lap capture with saving all laps
- Display a list of laps with number and time
Angular 21TypeScriptAngular SignalsAngular RouterFormsModule (ngModel) setInterval for countdownIntl.DateTimeFormat (via toLocaleTimeString) for time zones