This Rails web application allows a user to login and register a student for Chess Camps. The project lasted from January 2018 to May 2018, starting with basic controllers and models to building complex features such as a shopping cart, and Ajax forms for registration. The project proved to be both challenging and rewarding.
The design process was the most critical part of creating the web application. To even begin coding, the following had to be created:
Use Case Chart and Prioritization
After the initial backend, I started designing the website using simple wireframes to make sure I had the correct information in the right place.
To further improve upon my base designs, I turned to several design texts such as Designing the Obvious and The Design of Everyday Things as well as Cognitive Psychology and Its Implications to study the psychological effects of design. The most important guidelines I found were the Pareto Principle (80% of data within the first page) and supporting the user mental models. By following these rules, I was able to create a website that was intuitive and clean, which allowed for a quality user experience.
After thoroughly looking at the possibilities with using Materialize and VueJs, I decided to implement several features, ranging from subtle to noticeable, in order to ease the user experience. This includes:
Writing the user's first name on the dashboard
Personalizing the dashboard based on role (parent/instructor/admin)
Toasts when an item was added or removed from the cart
Consistent color palette throughout website
AJAX forms to easily add or remove students directly from the camp show page
Ability to change account information such as password or email
Validations on forms to check age restrictions and regex format