The Project
TOTA (short for Traditions of the ancestors) was a massive effort by a distributed team across several states to build a site that attempts to bring people together by exploring our respective cultures and have those exchanges curated by people from the cultures being discussed.
I was part of a 10 person development team that performed several roles. I was a consultant for my social media experience, I was responsible for conceptualizing and building new features as well as making suggestions/improvements to the existing codebase. As a senior-level dev, I also provided guidance and expertise where it was appropriate.
Process
After the initial onboarding process, my initial tasks were identifying trouble areas in the codebase and providing solutions to stabilize the project as preparation for the implementation of new features.
My primary task was to implement new features, the most prominent being a media manager intended to enable users to keep track of assets uploaded and a discussion board to facilitate conversations between site members.
The process for creating new features began with creating a spec document detailing component-specific functionality and methodology. This document was then discussed by the team to identify trouble spots and further refinement.
Once this was completed, I began the process of building the new components into the code base as well as editing database structures to account for the changes. Once the features were built, they were reviewed and tested by the team to locate any issues so they could be fixed. When the issues were resolved, they were then added to the production codebase and released on the live server.
My secondary task was providing my social management expertise to help shape engagement policy for the platform, with the primary priority being safety for members and creating a methodology for isolating and eliminating bad actors.
Tools/Frameworks
The project stack consisted of NodeJS, with a custom scripted Common JS frontend. MySQL was used as the main data store to house site information i.e. user information, discussions, articles, etc. I implemented Sequelize into the codebase to make interaction with the database easier and less convoluted. Page templating was handled with EJS and CSS pre-processor LESS was used to handle site-wide styling.
index
index 2
cultures landing
groups landing
groups landing 2
discussions landing
discussion topic landing
member media listing
member media metadata editing