uchicago-cs / chigame

BSD 3-Clause "New" or "Revised" License
2 stars 0 forks source link

Develop mock implementation and write evaluation report for django-machina #99

Closed joshuamonroe closed 11 months ago

joshuamonroe commented 1 year ago

This issue centers on developing a mock implementation and an evaluation report for the django-machina forum framework for our board games website. The mockup will help the team visualize potential forum layouts, navigation, and interactive elements utilizing the django-machina framework. This will provide the team with a solid understanding of the positives and negatives of implementing a django-machina framework.

joshuamonroe commented 1 year ago

To better break down the work necessary to develop the mock implementation, two additional issues have been opened. These issues should be completed before writing the report for django-machina.

joshuamonroe commented 11 months ago

Report

This comment will present our analysis of the django-machina forum library.

Background

Django-machina is a full-featured yet very extensible forum framework for Django providing a way to build community-driven websites. Notably, it was built with integration in mind and is designed to be used inside existing Django applications.

Here is a short list of supported features. You can learn more about the project here.

Setup

Installation of django machina within an existing project requires only a simple pip install, several edits to the Django settings file(s), and the addition of one line to the top level urls.py file. Detailed instructions can be found in the project's docs.

Result

  1. How the forum appears to an unregistered user. Image

  2. Creating an account. Image

  3. How the forum appears to a registered user. Image

  4. Viewing an individual forum. Image

  5. Posting a new topic. Image

  6. The topic after it has been posted. Image

  7. An active topic with replies. Image

Extensibility

As has already been mention, django-machina is designed for extensibility and integration with existing projects. The project allows customization through settings, templates and static files, as well as a dynamic class loading system that allows to override or extend its Python classes: class-based views, forms, models, etc. More info is available here.

Responsibility

@joshuamonroe Writing this report, deployment of the django-machina demo to the sandbox ( #145 ), and development of the mockup fixture ( #254 ). @Benjoman12 Code review of the demo instance and the mockup fixture. @bburgess19 Developing the format of this report in issue ( #100 ).

joshuamonroe commented 11 months ago

Report has been completed, see previous comment for breakdown of responsibilities. Closing this issue now.

majorsylvie commented 11 months ago

Issue Score: Excellent

Comments: Wonderful report! Excellently formatted, dev contributions written, relevant issues thoroughly linked. Wonderful work!


For future reference, when adding hyperlinks in markdown, it is recommended for readability to not have (particularly short) words be the only place a hyperlink is.

For example doing: "Link here", is not readable, but then doing "link here: https://annas-archive.org/" is obviously a link.

This is to make it easier for people who have any difficulty discerning between hyperlinked text and not. Which could be for color blindness, their eyesight, the contrast on their monitor, the distance someone is from their screen, if they've customized browser settings that change colors.

Thus, in general, err on the side of a verbose full link instead of a single word being a hyperlink.