Coder Social home page Coder Social logo

kmpk-1617-grad-mag's Introduction

Logo

KMPk 16/17 Grad Mag

A Graduation Magazine web app dedicated for 2016/17 Kolej Matrikulasi Perak (KMPk) graduates.

Contributing

There are many different ways to contribute to the development. If you're interested, check out our contributing guidelines to learn how you can get involved.

Getting Started

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

kmpk-1617-grad-mag's People

Contributors

kachun333 avatar niravprajapati1 avatar aswin2108 avatar dependabot[bot] avatar

Stargazers

Roman avatar  avatar

kmpk-1617-grad-mag's Issues

Rebranding

this project will be rebranded.

OurPromise will be renamed as KMPk 16/17 Grad Mag

the display name for the end users will be rebranded as
short name: ้†‡ๅฟ† Grad Mag
long name: KMPk 16/17 Grad Mag

for technical folks, the name will be rebranded as
github project name: KMPk-1617-Grad-Mag
real name: KMPk 16/17 Grad Mag

Notes

Grad Mag means Graduation Magazine

Unable to commit using Github Desktop

Environment: Windows 11
Github Desktop version: Version 3.1.2 (x64)
Logs:

2022-12-23T12:16:09.052Z - info: [ui] [Timing] Action 'create commit' for 'kachun333/OurPromise' took 3.195s
2022-12-23T12:16:34.740Z - error: [ui] `git commit -F -` exited with an unexpected code: 1.
stderr:
husky - pre-commit hook exited with code 1 (error)

image

Update App dependencies

for security reasons, update all app dependencies.

Be aware to not break the existing feature of the app.
Read the migration guide.

v2 cloud functions

  • /verify
    • will migrate to /v2/verify
  • /committee/registration
    • deprecated
  • /graduates
    • will migrate to /v2/graduates
  • /graduates/:id
    • deprecated
  • /magazine/chapIntro/:chapId
    • deprecated
  • /lecturers
    • will migrate to /v2/lecturers

v2 will only expose 3 APIs.
The source code of old APIs will not be removed in v1.3.0, instead they will be removed in v1.4.0

Lazy Load Graduates in Graduates Page

in Graduates Page,

the app should not render all 160 graduates at once.

  • the loading time is longer
  • the mobile data usage is higher

The app shall load more graduates as the user scroll.

Update CONTRIBUTING.md

the default branch has changed from master to main

also added a dev branch, all development-related PR should be targeted to the dev branch.

documentations or .github related PR can optionally merge to the main branch directly

Reference:

Add Pull Request Template

  • use keywords to resolve issues (if applicable)
    • if the issue is not yet resolved but it's related, link the issue to the PR
  • add screenshots if necessary
  • link references or useful notes

related to CONTRIBUTING.md

Use Next Gen Image Formats

images in /assets folder should use next-gen image format to help users save their mobile data usage

can consider using the WebP image format

A balance between small image size and high image quality

  • image size should not be more than 200KB
  • Image should look good on a 1920x1080 monitor

Dark Mode

support both light mode & dark mode
users are allow to change theme at runtime/real-time

checkout mui doc

improve readMe

readme should contains useful information, instead of the readme that been generated by create react app

KMPk Captcha

image

Select image that only KMPk-ians will know

Algo:

  • web app initiate verify process
  • server randomly choose 9 images and pass to client
  • web app allow 1 to 9 selection of image
  • web app pass the selection & the choices to server
  • server verify the selection with correct answers (stored in somewhere with restricted access)
  • server only allows fixed amount of retry (5 attempts)
  • server will ban the account if user been banned
  • user allow to contact administrator to remove ban if it's a mistake
    • via github issue or
    • via email or
    • contact Ka Chun

Setup Service Worker

since most of the data are static (not going to change), we can cache the images & fetched data to save mobile data as well as server usage

when a new version of the app is deployed, all cache must be invalidated.

Use Flow or Typescript

A lot of development features are lacking if we are using plain JS.

We can improve our productivity by taking advantage of static type checker

More Graduates Search Filter Capabilities

Improve the search/filter capabilities on graduates page.

users should be able to filter by

  • gender
  • birthday month
  • class

users should be able to (substring) search by

  • name
  • Chinese name

Timer Counter

count how many years/months/days/minutes/seconds we have left KMPk ๐Ÿ˜ญ

Graduates Pagination

the loading speed when first route to /graduates is extremely slow

this is especially shown when user click back button from GraduatesDetails (/graduates/1 ) page

Images not displayed in legacy browser

Description

webp is not supported by legacy browser

Reproduction steps

choose a legacy browser that doesn't support web. Apple's devices are a good testing device.

https://caniuse.com/webp

Expected behavior

images should be shown

Screenshots

No response

Browsers

Safari

OS

Mac

Additional information

No response

Better Navigation in Graduates Page

Users should be able to intuitively navigate inside the graduates page.

  • click/tab to view details of graduate (can consider bottom sheet)
  • swipe left/right or click left/right button to view prev/next graduate
  • view graduate image in full screen (portrait mode & landscape mode)
  • swipe down to close modal, and continue view all graduates

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.