Contribute to the Pictogrammers Site

Similar to the libraries we provide, this site is open-source.

Public SiteAdmin
LanguageTypeScriptTypeScript
FrameworkReact 18Angular 9
CSSSCSS ModulesBootstrap 4 (SASS)
SourceViewPrivate

Public Site

The public Pictogrammers site is 99% prebuilt and prerendered using Next.js.

Tech Stack

Building a Feature

  • Clone the repo
  • npm install
  • npm run dev

What Features Are Wanted?

If you're looking for a way to help out with the web site, check out the site's issue tracker for feature requests or bug reports. If you have a new idea for a feature, open an issue before beginning work so that the community and contributor team has a chance to review and discuss the idea.

View Issues on GitHub

Feature Requires New Endpoints

If a feature you would like to add requires additional data from an existing or new API endpoint, you will need to request that functionality. The API is still closed-source, so a core team member will have to implement the changes. Additionally, unless there is a good reason to include it, we don't want the public site communicating with the API to cut down on HTTP requests back to the server.

Tips for Feature Development

  • Let us know early on if your feature needs API changes to work.
  • Look at the existing code base and follow consistent patterns.
  • Use existing services where it makes sense instead of wrapping your own.
  • Break up features into smaller components when possible.
  • Be patient, the larger the feature, the longer it takes for us to review.

Admin

Generally the only person making edits to the admin is the core team members, but still worth outlining below.

Tech Stack

If you are familiar with Angular and Bootstrap the code base is hopefully pretty easy to follow.

/api // Mock json files for local development /app - admin // Admin Pages - homePage - homePage.component.html - homePage.component.scss - homePage.component.ts - shared - // Shared components /content - *.md // Documentation and page content

Every page has a .html, .scss, and .ts. Most text is contained in Markdown files to encourage editing by as wide of an audiance as possible.

Building a Feature

All features for the site are managed through pull requests. Clone the project in GitHub following the instructions in the readme.

View on GitHub

Documentation

Documentation edits and additions can be done directly in GitHub. GitHub will even create pull requests for you if you use one of the links provided on the right sidebar of any page.

View Documentation Files on GitHub