Frontend Engineering Projects & Labs
Practice frontend-engineering skills with real-world hands-on projects and labs
Featured Projects
Practice Labs
Are you sure you want to delete this lab?
Git: Repository ManipulationsLearn the fundamentals of Git by initializing and cloning repositories, setting up user configurations, creating command aliases, and managing commits. This lab also covers staging, committing, checking differences, stashing changes, ignoring files, tagging important milestones, and inspecting file history.
Are you sure you want to delete this lab?
Git: Undoing changesLearn and practice advanced Git commands including cloning repositories, cleaning untracked files, reverting commits, performing soft resets, removing files, rebasing branches, and recovering commit states.
Are you sure you want to delete this lab?
Git: Advanced Branching StrategiesLearn to authenticate with GitHub using GitHub CLI, create and manage repositories, and explore advanced branching strategies including handling merge conflicts, fast-forward merges, and squash merges.
Are you sure you want to delete this lab?
DevOps Event Driven ArchitectureWelcome to the Event-Driven Architecture Lab Series! 🚀
Overview 🔍
Over the next four labs, we'll build a simplified, yet powerful, feature inspired by platforms like Netflix: a movie "like" system with recommendations. This project serves as a practical vehicle to explore and implement core concepts of Event-Driven Architecture (EDA) using modern cloud services on AWS. We'll start with a user clicking "Like" and end with a dynamic recommendation page, all powered by an asynchronous, decoupled backend.
Purpose 🎯
The primary goal of this series is to provide hands-on experience with designing and building event-driven systems. You will learn:
How to decouple different parts of an application using event streams.
How to leverage serverless compute (AWS Lambda) for event processing.
How to use managed services like API Gateway, Kinesis, DynamoDB, and S3 effectively.
How to define and manage cloud infrastructure using Terraform (Infrastructure as Code).
The benefits of EDA, such as scalability, resilience, and extensibility.
Technology Stack 🛠️
Throughout this series, we will utilize:
Frontend: A simple UI container (details provided) with movie tiles and like buttons.
API Layer: AWS API Gateway for creating RESTful endpoints.
Compute: AWS Lambda for serverless event processing.
Event Streaming: AWS Kinesis Data Streams as our event bus.
Data Storage:
AWS DynamoDB for storing and querying aggregated like counts.
AWS S3 via Kinesis Data Firehose for archiving raw event data.
Infrastructure as Code (IaC): Terraform for defining and deploying AWS resources.
Version Control: Git & GitHub for managing code.
(Optional CI/CD): GitHub Actions (or similar) could automate deployment, though manual deployment steps will be detailed.
By the end of this series, you'll have a functioning application demonstrating key EDA patterns and a solid understanding of how these cloud services work together. Let's get started! 🎉
Are you sure you want to delete this lab?
Installing and Running Go: A Beginner's GuideLearn how to install Go, configure system-wide access, and create a simple 'Hello, World!' program using Go's build and execution workflow.
Are you sure you want to delete this lab?
Go Basics and Control StructuresLearn foundational Go programming by initializing a project, working with variables, constants, loops, conditionals, arrays, slices, maps, and functions to build a simple application.
Are you sure you want to delete this lab?
Go Project: Structs, Interfaces, and Concurrent ProcessingLearn Go programming by creating and managing structs, implementing interfaces, validating data, working with generics, and processing concurrent tasks using goroutines and channels.
Are you sure you want to delete this lab?
Python Foundations LabLearn Python basics by creating scripts to explore virtual environments, syntax rules, variables, user input, and personalized output handling.
Are you sure you want to delete this lab?
Python Operators and Expressions LabExplore Python operators including arithmetic, assignment, comparison, and logical operators through practical examples and demonstrations. Create scripts to perform calculations, evaluate conditions, and debug outputs.
Are you sure you want to delete this lab?
Core Data Types and Operations LabExplore Python's core data types through hands-on exercises, including numerical operations, string manipulation, type casting, and formatted output using f-strings.
Are you sure you want to delete this lab?
Data Structures for Server ManagementLearn and implement Python data structures including lists, tuples, sets, and dictionaries to efficiently manage server configurations, properties, and statuses in a simulated environment.
Are you sure you want to delete this lab?
Control Flow Essentials LabLearn fundamental Python control flow techniques by implementing conditional statements, loops, and logical operators. Explore 'break', 'continue', and 'pass' actions, list operations, and variable identity comparisons in a hands-on project.
Are you sure you want to delete this lab?
Comprehensive Python Functions LabExplore Python function concepts including arguments, scopes, lambda expressions, and structured logging while practicing documentation and testing methodologies.
Are you sure you want to delete this lab?
Python Project Structure and Error HandlingLearn to create a structured Python project with modules and packages, explore function imports, debug common errors, implement try-except blocks, and raise custom exceptions for input validation.
Are you sure you want to delete this lab?
Python File OperationsLearn file handling in Python by reading, writing, and appending text files, using JSON for data serialization and manipulation, and leveraging the glob library for file pattern matching.
Are you sure you want to delete this lab?
Object-Oriented Programming and Utility IntegrationExplore OOP concepts by building a Server class with attributes, methods, and inheritance. Enhance functionality with log parsing, random name generation, data compression, and virtual environment setup to isolate dependencies.
Are you sure you want to delete this lab?
OS and System Interaction with PythonLearn to manage file systems, environment variables, system processes, and command-line operations using Python modules like os, sys, subprocess, platform, and psutil. Develop scripts for directory navigation, resource monitoring, and secure shell command execution with comprehensive logging.
Are you sure you want to delete this lab?
Mastering CLI BasicsLearn the essentials of the command-line interface, including navigation, file management, and documentation tools. Practice efficient workflows with commands, flags, shortcuts, and wildcards to boost productivity in DevOps.
Are you sure you want to delete this lab?
Stream Redirection and File Search LabLearn to manipulate standard streams (stdin, stdout, stderr) with redirection and pipes. Practice using `find`, `locate`, `grep`, and `tee` for file searching, filtering, and output management in real-world scenarios.
Are you sure you want to delete this lab?
Network Configuration and Interface ManagementLearn to manage network interfaces using 'ip', 'ifconfig', 'iwconfig', and 'nmcli' commands. Configure static IPs, wireless connections, and routing tables to explore essential networking tasks.
Are you sure you want to delete this lab?
Network Connectivity and TestingLearn to troubleshoot network issues using tools like ping, traceroute, mtr, telnet, and netcat to validate connectivity, trace paths, monitor health, test services, and scan ports.
Are you sure you want to delete this lab?
Introduction to Vim EssentialsLearn the fundamentals of Vim, including its modal nature, navigation, editing, and command-line operations. Practice essential commands, mode transitions, and text manipulation for efficient text editing.
Are you sure you want to delete this lab?
Mastering Vim BasicsLearn essential Vim commands for text editing, including navigation, deletion, modification, search, and save operations, to efficiently manage files in the terminal.
Are you sure you want to delete this lab?
Vim Visual Modes and Multitasking LabExplore Vim's visual modes, text manipulation, buffer management, splits, marks, and registers to enhance file editing efficiency and multitasking capabilities.
Are you sure you want to delete this lab?
Vim Configuration and Automation LabLearn to customize Vim using ~/.vimrc settings, key mappings, abbreviations, macros, global commands, and plugins to enhance productivity and automate tasks.
Are you sure you want to delete this lab?
Nano Text Editor EssentialsLearn the fundamentals of using Nano, including interface navigation, file creation, editing, saving, and handling system files. Practice text manipulation techniques and configuration file creation.
Are you sure you want to delete this lab?
Process Management and IPC FundamentalsDive into Linux process management and inter-process communication (IPC). Explore process creation, memory layout, states, scheduling, and signaling, alongside IPC mechanisms like pipes, shared memory, and sockets for effective data exchange between processes.
Are you sure you want to delete this lab?
GitLab Workflow FundamentalsLearn to set up and manage a Git repository, collaborate using GitLab's web interface, and create Merge Requests for feature integration.
Are you sure you want to delete this lab?
Network Protocols: IntroductionLearn the fundamentals of TCP and UDP protocols through real-world analogies and hands-on coding. Set up a Python environment, explore protocol differences, and implement simple TCP and UDP servers and clients to understand their features and use cases.
Are you sure you want to delete this lab?
Caching 101This lab explores the fundamentals of caching, including key concepts, cache types, and common caching strategies.
Are you sure you want to delete this lab?
Simple Messaging Protocol LabLearn to design and implement a basic communication protocol using Python. Create structured messages, validate content, serialize/deserialize with JSON, and simulate exchanges between users with timestamped interactions.
Are you sure you want to delete this lab?