Hi! I'm Henry Leto, a full stack software developer, specializing in backend technology, with experience in Javascript, CSS, and CSS Frameworks.
I have a passion for programming and love creating things, from command-line games to fullstack websites. Computer programming is my creative outlet.
When I'm not coding I enjoy working out, reading, and playing videogames.
Written with Ruby on Rails, my social media site, Roundtable, has many of the quality-of-life features expected of a modern social media app. This fullstack application uses the poweful combination of Ruby on Rails + PostgreSQL on the backend, along with Javascript and Bulma CSSon the front end.
Users on Roundtable can make posts, comment on posts, and comment on comments (nested-comments). Posts can be image or text with up to three images per post. Users can also create groups; which have an owner, admin and users, as well as a custom and private feed for each group. Addionally, Users can send and receive friend requests, and accept or deny these requests.
All these updates happen asynchronously thanks to AJAX responses for all forms.
For deployment to Heroku, I used Amazon S3 cloud storage to allow user data to persist indefinitely.
I also implemented both Google and Github API support using Oauth2, which allows users to import their information from these sites and create a profile on Roundtable.
All Chat is written with Ruby on Rails and built to utilize Action Cable, Rails' WebSocket wrapper. In addition to handrolled CSS, I used Bulma CSSfor styling, and Javascript to both bring the page to life, and program the WebSocket actions.
All Chat uses WebSockets to keep an open connection between clients and the server, allowing users to stream data directly to each other. I used All Chat highlight the versatility and practicality of WebSockets by showing off their use in an instant messaging app.
Users login to send messages over secure channels, with each chat room having its own unique channel. User's can create rooms as well as destroy them, updated in real time thanks to Action Cable.
Users who are 'online' have a green dot next to their name, and 'offline' users a gray one. A users online status updates as they come on and offline, as well as the number of users in a room.
Written in pure Ruby, this command-line chess game was developed following standard chess guidlines. The game is programmed with all major chess moves in mind, including:
Chess was developed with OOP concepts in mind. Utilizing principles like composition, inheritance, and clean reusable code, this chess game was the culmination of months of hardwork in Ruby.
In addition to the game itself, I also wrote a full Ruby Rspec test suite that covers piece placement, major moves, and edge cases.