Web Based Apps.

placeholder

SixLove App

SixLove is a comprehensive web application designed to guide users with varying levels of tennis experience through structured training programs while providing flexibility for personalised scheduling. The platform integrates principles from the Novice Linear Progression Program (TNLP)- a concept I invented, to aid users in skill development and progression. Through the use of Django, I developed distinct modules within SixLove to address different aspects of tennis training, including registration, tennis sessions, a planner/calendar, and community engagement.

The app allows users to register, log in, and customise their training schedules by adding, editing, viewing, and deleting tennis sessions. Structural enhancements such as the incorporation of category and rank attributes in the TennisSession model facilitate progress tracking and skill level assessment. Additionally, the implementation of achievements systems and notifications promotes user engagement and motivation. Reflecting on the project, I highlighted areas for improvement, such as user involvement in the development process and the potential for future enhancements, including privacy features and further integration of TNLP principles (this can be read in the report).

For this project, I took charge of all stages (UI/UX design, research, frontend, backend, databases, testing, etc.) of the development, I accomplished the following:

  • Scalable Architecture: I designed SixLove with a scalable architecture, allowing for future expansion and integration of additional features to meet evolving user needs.
  • Responsive Design: SixLove features a responsive design, ensuring optimal user experience across various devices and screen sizes, including desktops, tablets, and smartphones.
  • User Authentication and Authorisation: Implemented robust user authentication and authorisation mechanisms, ensuring secure access to SixLove features and protecting user data.
  • Database Management: Effectively managed the database schema and relationships within SixLove, optimising performance and data integrity for seamless user interactions.
  • User-Friendly Interface: Designed an intuitive and user-friendly interface for SixLove, facilitating easy navigation and enhancing overall user experience.
  • Error Handling and Debugging: Implemented comprehensive error handling and debugging mechanisms, minimising system downtimes and ensuring smooth operation.
  • Documentation and Testing: Thoroughly documented the codebase and conducted extensive unit testing to ensure the reliability, stability, and maintainability of SixLove.

The report below expands on the process.

View Code
placeholder

Plan2Eat Meal App

Plan2Eat is a dynamic web application born out of a collective vision to simplify meal planning and streamline grocery list generation. Developed with a team of other like-minded individuals with a keen focus on user experience and efficiency, Plan2Eat empowers users to effortlessly record recipes, organise meal plans, and generate comprehensive grocery lists. Led by a dedicated team, this project represents a harmonious blend of frontend innovation and backend functionality, using technologies such as JavaScript, EJS, NodeJS, and MySQL. With an intuitive interface crafted through meticulous UI/UX design and prototyping, Plan2Eat offers a seamless and intuitive user experience, aiding its users with meal preparation and planning.

For this project, I took charge of the frontend development and UI/UX design, I accomplished the following:

  • Spearheaded the development of Plan2Eat, a dynamic web application aimed at simplifying meal planning and grocery list generation, utilizing JavaScript, EJS, NodeJS, and MySQL to create a seamless user experience.
  • Led the frontend development of Plan2Eat, leveraging expertise in UI/UX design to craft an intuitive and visually appealing interface that enhances user engagement and satisfaction.
  • Executed prototyping and animated prototypes using Figma, ensuring a cohesive and interactive design that optimizes user interaction and navigation throughout the application.
  • Implemented frontend functionalities, including the creation of mixins using SASS to streamline code structure and reduce redundancy, demonstrating a commitment to efficiency and code optimisation.
  • Developed interactive features such as a calendar component, enabling users to add meals to their planner with ease, enhancing the overall functionality and user experience of the application.
  • Utilised a diverse set of technologies including JavaScript, HTML, CSS, SASS, and Figma to bring the Plan2Eat app to life, showcasing versatility and proficiency in frontend development tools and techniques.
  • Collaborated closely with team members to ensure seamless integration of frontend and backend functionalities, fostering effective communication and teamwork to achieve project goals and deadlines.
  • Contributed to creating an optimal team working environment and effective planning, demonstrating agile methodology and teamwork abilities essential for successful project execution.

The report below expands on the process.

View Live View Code
placeholder

Game Project

The game project was my first programming project. It marks the beginning of my journey and displays how far I have come. Reading through the code is a little embarrassing, however this was a project set by my university and I learnt a great deal from it.

The purpose of the project was to learn the fundamental elements of computer programming such as variables, conditionals, loops, and functions. Our goal was to create an interactive graphical computer program. It is interesting to look back on and see. It was a fun little project, but I always feel tempted to go back and add proper commenting, and make use of ECMAScript.

View Live View Code
placeholder

SplatterStudio (Paint App)

SplatterStudio was my second programming project ever- as such, it is isn't very well written, but rather serves as a baseline. This was a university project and its aim was to introduce us to the following topics / concepts:

  • Producing maintainable code.
  • Defensive coding techniques.
  • Program testing techniques.
  • Cyclical approaches to software development.
  • Encapsulation.
  • Developing code across multiple files.
  • Using third-party libraries.

I learnt a great deal from this project, however if I were to improve it, I would use more advanced JavaScript techniques, make better use of comments, and write cleaner code.

View Live
placeholder

PluggedIn App

PluggedIn is a web application built using JavaScript, EJS, NodeJS and MySQL. I worked on this for a university project. The aims of the project were as follows:

  • Create a home page that links to other pages.
  • Create an add device pages that allows users to add a new device to the database.
  • Create a show device page that displays the already added devices and their respective data.
  • An update device page that allows users to update device settings.
  • A delete device page that allows users to remove devices from the database.

The purpose of the project was to learn the skills needed to create client-server applications and query processing. I learnt about relational database systems from a development perspective. I also learnt how to model data in a database, retrieve data, and provide access to data.

View Code