As a Ph.D. candidate, I built experience as a learner and as a creative thinker. Recently, I have decided to redirect these skills into software development. At the beginning of 2021, I enrolled in an intensive program at Coding Dojo, where I learned to build applications in a variety of languages, including JavaScript, Python, and Java. I am excited to continue to learn and grow as a developer!
I also believe that technology can be used to make the world a better, safer, more equitable place. I am particularly interested in finding a way to use programming to help make a difference in people's everyday lives.
You can read more about my background at my website, https://benscruton.github.io.
A single-page application that allows users to play chess against one another in real time.
Began development alongside a partner at Coding Dojo; since graduating, I have continued to develop the project and flesh out features on my own.
My contributions:
- Connected React front-end to Express and Mongo back-end using Axios for a snappy user experience
- Created User and Game models with MongoDB and Mongoose, utilizing various data structures to store information in a way that can be converted into a visually recognizable chessboard on the front end
- Wrote all of my own move logic, using separate JavaScript modules for each piece to facilitate introduction of chess variants later in development
- Implemented bcrypt for password security and JSON Web Token to store user session information
- Added Socket.IO to communicate various information to all connected clients in real time, allowing play without page refreshes
- Styled with Bootstrap and custom CSS to balance visual consistency with functionality
An app to find recipes based on ingredients users have, and to build and manage shopping lists with customizable categories.
Began work as part of a team of four; I have continued development on my own, focusing primarily on expanding the functionality of the shopping list.
My contributions:
- Along with team members, wrote back end using Java, Spring Boot, and MySQL to utilize relational database capabilities
- Along with team members, developed a React front end for fast load times, and styled with Materialize for clean aesthetics
- Introduced drag-and-drop functionality using react-beautiful-dnd to the shopping list, to allow users to reorganize lists easily
- Connected front and back ends via an API written with Java and Spring Boot, using Axios to streamline communication between the API and the front end
- Helped to integrate Auth0 third-party authentication for user convenience and security
An app to track and organize books using customizable “shelves.” Users can also add other users as friends, and then make book recommendations.
Began work with a partner, who focused on the book and shelf side while I built the user profile, wall, and friend relationships. I then stitched the two halves of the project together, and have since continued development.
My contributions:
- Applied Django’s ORM methods and a relational database to connect users to shelves, books, and other users
- Created a "Profile" page where all of a user's various relationships can be viewed in one place
- Implemented search functionality on various pages, including the ability to search for books as well as other users
- Used bcrypt hashing to secure user passwords
- Helped integrate Materialize styling into all pages