PixelForge Nexus

View a demo

In an attempt to respond to Creative SkillZ LLC's (a fake client) proposal for a secure online project management platform tailored to software and game development teams, PixelForge Nexus was built. The project's primary objective is to provide a centralised system capable of managing projects, coordinating team members, and securing access to project resources while enforcing role-based permissions. These requirements can be divided into three main areas: Project Management, Team Collaboration & Resource Management, and Account Security.

Project Management: This first area focuses on establishing and maintaining the project's organisational structure. Administrators are responsible for creating and managing projects by providing essential information such as project names, descriptions, project briefs, and deadlines, while also marking completed projects accordingly. The platform translates these requirements into the following features:

  • Creating, editing, and completing project records
  • Uploading files
  • Viewing all active projects
  • Managing user accounts and role assignments
  • Maintaining a centralised project repository

Team Collaboration & Resource Management: Once projects have been established, the platform facilitates collaboration between Project Leads and Developers. Project Leads are responsible for assigning developers to their respective projects and uploading supporting documentation such as design specifications and meeting notes. Developers are then able to view their assigned projects and access the corresponding project resources through a unified dashboard.

Account Security: As the system manages organisational data and project assets, secure access forms a fundamental part of the solution. The platform implements role-based access control to ensure users can only perform actions appropriate to their responsibilities. Authentication is secured through encrypted password storage, with optional multi-factor authentication (mainly powered with Microsoft Authenticator) available to further strengthen account security. Additionally, users are provided with account management features, including password updates and security settings.

Challenges and Achievements

As with most projects, complexity progressively increases throughout the development life cycle. With the expectations for this prototype clearly defined from the outset, unforeseen challenges were kept to a minimum. The primary difficulties encountered arose during the implementation of multi-factor authentication and activity logging.

Firstly, the Microsoft Authenticator app was chosen because of its practical features. It stores account details and provides unique one-time passcodes at regular intervals, limiting or even eliminating the need to repeatedly scan the QR code before completing the login process. However, a significant challenge arose in ensuring that the platform correctly recognised the timezone of the user's device so that it remained synchronised with the authenticator application and generated valid passcodes. The authentication mechanism takes effect during account creation. The user's credentials are used by Python's QR code generation library to generate the unique QR code that is associated with their account. Additionally, whenever a user updates their credentials, a new QR code is generated and securely stored to maintain synchronisation with the authentication process.

Secondly, activity logging presented a synchronisation challenge. Initially, I struggled to have updates reflected within an acceptably short timeframe, something I believe is essential for maintaining the overall security and reliability of the system.

Future Improvements

As much as this prototype could only get better, its flexibility and the possibility of changes are up to the requirements of the next client requiring services similar to those provided through PixelForge Nexus. The next logical step however is making the prototype multi-lingual.

Development Tools and Technologies

Backend Programming Language: Python with Flask and Node.js dependencies
Database: SQLite database
Modelling & Design Software: Figma
Version Control: Git