nusmodifications / nusmodifications/nusmods

Plans going forward

Open
#1,046 5 comments 0 reactions 4 assignees View on GitHub

@li-kai is already working on this.

Since Jul 14, 2018.

better engineering
Dominant language
JavaScript
Stars
689
Forks
364
Avg merge
7h 5m
Merged PRs (30d)
14

Description

Currently at nusmods we are facing a few issues that are not code related (mostly):

General

  • onboarding (where and how to start to developing)
  • outreach (we need future maintainers)
  • communication with the school (internal)
  • security (ssh & services logins)

Server

  • deployment (what configs & commands?)
  • code for url shorterner (yourls) and its database (mysql)
  • memory leaks (mostly launch.nusmods.com)
  • nginx configs
  • versions (not just packages but services like nginx and ubuntu)

Accounts

Are we going for this? If we do the following options are

  1. Our own using Django
    pros: not dependent on services shutting down
    cons: maintenance, graphql plans
  2. Firebase
    pros: fast (e-liang already has a branch) & low maintenance
    cons: code weight (firebase is super heavy)
  3. AWS using appsync & cognito
    pros: fast & fits with our graphql + offline plans sample
    cons: cost (around $4 a month)

GraphQL

Splitting up server and the scraper completely would be really useful. But I don't have a preferred way to do this right now. If we do go with Django for accounts, the integration with graphql is unfortunately not as good. Also what database do we go with? We already have a mysql one.

Opinions?

Let me know what you guys think, and which ones we should tackle first.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.