Training Tool — Courses

Fall 2022, Year-Long Spark Project

CodeLab UC Davis
5 min readDec 29, 2022

Introduction

Throughout the preceding CodeLab cohorts, new associates would be introduced to tools and technologies used extensively during the term through the week-long Notion-based bootcamps. This presented many issues some including cumbersome navigation and limited ability to track progress. The goal of our project was to develop a full-stack web application that aims to solve these problems.

The Team

Derek Ma — Project Manager

Divya Gautam — Designer

Jessica Park — Designer

Meleah Phillips — Designer

Alexis Lydon — Developer

Thea McCallie — Developer

Ibrahim Rizk — Developer

Sophia Tzonev — Developer

Kaitlyn Vo — Developer

Timeframe

Oct 2022 — Nov 2022 | 6 weeks

Tools

MongoDB

Express.js

Next.js

Node.js

AWS S3

Insomnia

Figma

FigJam

Design

User Research

Designers collectively created an elaborate and holistic survey that sought to collect feedback regarding the current Notion-based training system. In addition, they were also able to conduct one-on-one interviews with all types of associates in order to address pain points specific to a particular role’s training material. To organize their research findings, they’ve developed the following affinity map.

Competitive Analysis

Following user research, the designers conducted a thorough analysis of three different competitors that were consistently brought up in survey responses.

Problem Statement

After compiling the most common user pain points: troublesome navigation, difficulty of progress tracking, lack of skill variation, and lack of guidance, the designers established a problem statement as follows

💡 How might we build an intuitive and organized tool that is accommodating to each role and experience level of the CodeLab members?

User Personas

Based upon the problem statement, the designers were able to compile a brief list of user personas who might be inclined to utilize our product.

Mid-Fidelity Wireframes and Design System

Following weeks of iterating through sketches as well as settling upon a basic user flow, the designers created the following mid-fidelity wireframes as well as established the following design system that closely follows the current CodeLab branding identity.

Next Steps

Moving on, the designers aim to refine the mid-fidelity wireframes based upon feedback, finalize key features of the product, and iterate the Project Manager page. In addition, they also seek to work more closely along with the access team to create user flow for the admin page. After completing the mid-fidelity prototype, they will conduct usability testing to gather user feedback on the information architecture. They will continue to iterate the designs and create a fully-interactive hi-fidelity in the very near future.

Development

Tech Stack

The tech stack can be visualized as follows with MongoDB and the AWS S3 bucket holding user data as well as static files, an implementation of Express.js and Node.js on the backend to serve these files to the end user, as well as Next.js on the frontend.

Stages of Backend Development

Throughout the duration of the term, developers utilized the software development life cycle, specifically focusing on the design, implementation, as well as testing stages in their process to create backend routes. First, a schema for a course document was defined as seen below. Next, thorough design documentation of all routes and their corresponding CRUD operations were written down. Then, endpoints were implemented in three separate sections: courses , modules , and lessons . Finally, the developers conducted unit tests of all usable routes using an API client such as Insomnia.

AWS S3

S3 is a storage service offered by AWS that is high-scalable, cost-effective, and secure. In this project, an S3 bucket is utilized to store all images as well as static files and it communicates with both the Express.js server and MongoDB database in order to deliver the necessary course materials.

Takeaways & Challenges

Some challenges that the designers faced include eliminating bias when conducting user research and working along with stakeholders to design a range of new features and restraints. On the other hand, developers had initial troubles with getting familiar with the frameworks and technologies used. Some takeaways of the team include agile methodologies helps iterate the product quickly and efficiently and that frequent communication within the team fosters successful project development.

Closing

Looking back at all the progress the team has made during these short few weeks, we are confident that we have built a solid foundation for what this project is to become and we are looking forward to what we will accomplish during the upcoming Winter/Spring ’23 term.

--

--

CodeLab UC Davis

CodeLab is a student-run software development and UX design agency at UC Davis.