Hi there, welcome! I'm Getiye Demis Full-Stack Developer Computer Science Student @ Debre Berhan University focused on building modern, responsive, and scalable web applications.
I enjoy turning ideas into real digital solutions by combining creative front-end design with efficient back-end development through academic learning and hands-on projects.
I continuously strengthen my programming, problem-solving, and software development skills.
I am passionate about learning new technologies, improving my development practices, and building applications that solve real-world problems
and create meaningful digital experiences.
Building applications that solve real-world problems and create meaningful digital experiences.
Technologies and tools I work with from front-end finesse to back-end logic ā the technologies I use to bring ideas to life
Front-end
HTML5
95%
CSS3
90%
JavaScript
85%
React
80%
Back-end
Python
85%
Java
80%
C++
75%
Node.js
80%
PHP
75%
Databases
MySQL
85%
MongoDB
80%
Oracle
75%
SQL Server
80%
Tools
VS Code
95%
Git
90%
GitHub
90%
Canva
85%
Projects
Employee Payroll Management
Java-based system to manage employee payroll information and generate payslips efficiently.
Cafe Management System
Web application using HTML, CSS, JS, and MySQL for managing customer orders and operations.
Personal Portfolio
Modern responsive portfolio website showcasing skills, projects, and contact info.
Explore All My Projects on GitHub
Want to see more of my work? Check out my GitHub profile where I share all my coding projects,
from small experiments to full-stack applications. Feel free to explore, star, or even contribute!
Simple but practical to-do list application to learn Python basics.
todo.py
import json
import os
from datetime import datetime
class TodoList:
def __init__(self, filename='tasks.json'):
self.filename = filename
self.tasks = self.load_tasks()
def load_tasks(self):
"""Load tasks from file"""
if os.path.exists(self.filename):
with open(self.filename, 'r') as file:
return json.load(file)
return []
def save_tasks(self):
"""Save tasks to file"""
with open(self.filename, 'w') as file:
json.dump(self.tasks, file, indent=2)
def add_task(self, title, priority='medium'):
"""Add a new task"""
task = {
'id': len(self.tasks) + 1,
'title': title,
'priority': priority,
'completed': False,
'created_at': datetime.now().isoformat(),
'completed_at': None
}
self.tasks.append(task)
self.save_tasks()
print(f"ā Task added: {title}")
def list_tasks(self, show_completed=False):
"""Display all tasks"""
if not self.tasks:
print("š No tasks found!")
return
print("\n" + "="*50)
print("YOUR TO-DO LIST")
print("="*50)
for task in self.tasks:
if task['completed'] and not show_completed:
continue
status = "ā " if task['completed'] else "ā"
priority_mark = {
'high': 'š“',
'medium': 'š”',
'low': 'š¢'
}.get(task['priority'], 'āŖ')
print(f"{status} [{priority_mark}] #{task['id']}: {task['title']}")
if task['completed'] and task['completed_at']:
print(f" Completed: {task['completed_at'][:10]}")
def complete_task(self, task_id):
"""Mark task as completed"""
for task in self.tasks:
if task['id'] == task_id:
task['completed'] = True
task['completed_at'] = datetime.now().isoformat()
self.save_tasks()
print(f"ā Task #{task_id} completed!")
return
print(f"ā Task #{task_id} not found!")
def delete_task(self, task_id):
"""Delete a task"""
initial_count = len(self.tasks)
self.tasks = [t for t in self.tasks if t['id'] != task_id]
if len(self.tasks) < initial_count:
self.save_tasks()
print(f"šļø Task #{task_id} deleted!")
else:
print(f"ā Task #{task_id} not found!")
def get_statistics(self):
"""Show task statistics"""
total = len(self.tasks)
completed = sum(1 for t in self.tasks if t['completed'])
pending = total - completed
print("\nš STATISTICS")
print(f"Total tasks: {total}")
print(f"Completed: {completed}")
print(f"Pending: {pending}")
print(f"Progress: {completed/total*100:.1f}%" if total > 0 else "No tasks")
# Main program
def main():
todo = TodoList()
while True:
print("\n" + "="*50)
print("š TO-DO LIST APPLICATION")
print("="*50)
print("1. Add Task")
print("2. List Tasks")
print("3. Complete Task")
print("4. Delete Task")
print("5. Show Statistics")
print("6. Exit")
choice = input("\nEnter your choice (1-6): ").strip()
if choice == '1':
title = input("Task title: ")
priority = input("Priority (high/medium/low) [medium]: ") or 'medium'
todo.add_task(title, priority)
elif choice == '2':
show_all = input("Show completed tasks? (y/n): ").lower() == 'y'
todo.list_tasks(show_all)
elif choice == '3':
try:
task_id = int(input("Task ID to complete: "))
todo.complete_task(task_id)
except ValueError:
print("ā Please enter a valid number!")
elif choice == '4':
try:
task_id = int(input("Task ID to delete: "))
todo.delete_task(task_id)
except ValueError:
print("ā Please enter a valid number!")
elif choice == '5':
todo.get_statistics()
elif choice == '6':
print("š Goodbye!")
break
else:
print("ā Invalid choice!")
if __name__ == "__main__":
main()
#CLI#FileIO#JSON#Beginner
Evolution & Growth
Every expert was once a beginner ā my path from first "Hello World" to building full-stack applications, transforming curiosity into code and challenges into growth along the way
1
The Beginning
Started from absolute zero at Debre Birhan University, where I wrote my first lines of code and discovered the magic of turning logic into working programs. Those early days of debugging and late-night problem-solving shaped my entire approach to development.
Moved beyond endless tutorials and started building actual projects that solved real problems. The thrill of seeing my first web app come to life ā even with its bugs and imperfections ā taught me more than any course ever could.
First projects deployed to the cloud ā that's when I learned that real users have zero tolerance for bugs, slow loading times, or confusing interfaces. Every crash and user complaint became a valuable lesson in resilience and user-centered design.
Started caring deeply about both form and function ā crafting elegant front-end experiences while ensuring the back-end could handle real-world demands. This is where I learned that great code isn't just about working, it's about being maintainable, scalable, and a joy to build upon.
Discovered that the best developers aren't just coding machines ā they're collaborators, communicators, and creative problem-solvers. Learning to explain complex ideas simply, work in teams, and understand client needs transformed me from a coder into a developer.
Building bigger, building smarter ā now I'm focused on creating applications that don't just function, but genuinely improve people's lives. My goal is to combine technical excellence with meaningful impact, one project at a time.
š
Want to read the full story behind my journey? Click the button below to see my complete learning experience in detail.
Web development is one of the most exciting fields in technology today.
It allows developers to build applications that people can access from
anywhere using a web browser. As a Computer Science student at
Debre Berhan University, my journey into web development began with
a simple curiosity about how websites work.
How My Journey Started
During my studies, I first learned programming languages such as
C++, Java, and Python. These languages helped me understand
important programming concepts including algorithms, logic,
and problem solving.
Learning Web Technologies
HTML for structuring web pages
CSS for styling and designing interfaces
JavaScript for interactive web functionality
Moving to Full-Stack Development
After understanding front-end development, I became interested
in how the back-end works. I started learning technologies like
Node.js, PHP, MySQL, MongoDB, and React to build complete
full-stack web applications.
Projects I Built
Cafe Management System
Employee Payroll Management System
Personal Portfolio Website
Future Goals
My goal is to become a professional Full-Stack Developer
who builds scalable applications and digital solutions that
solve real-world problems and help people.