Skip to content

Rewrite #104

@bogas04

Description

@bogas04

It's very hard to maintain a project which doesn't have any contributors or users (lol).

Plan for rewriting one module at a time, one build step at a time:

Phase 1

  • Use xo for linting
  • Remove dependencies:
    • react-mdl: Why ? It's good for prototypes but not for my use-case. I need to custom build the UI.
    • react-throttle: I don't even know if it's helping at all.
    • ws: With webpack 2, we can also use its server for dev testing.
    • react-calendar: very fat and not a major feature.
  • Update/Replace dependencies;
    • Upgrade to webpack 2. It's simple change that might help in reducing some bundle size.
    • Upgrade to react-router v4.
    • Consider using preact over react. We can definitely benefit with a smaller bundle size.
      • Considered, but waiting for react@16 to go gold.
  • New dependencies:
    • Consider glamor / styled-jsx for CSS.
      • Using styled-components instead.

Phase 2

  • Perf

  • Cleanup

    • Fix xo lint errors.
    • Re-org components into components and pages, so that we have a clear distinction between those.
    • Redux?
      • Our actions are fairly less, and the state is mingled much, so I'm not sure if we really require redux as of now.
      • On a second thought, having redux store will help us make the app offline-first more readily.
    • push to location for sggs, shabads etc on ang/query change.
  • Features

    • Use react-router-dom in much more ergonomic way instead of simply porting RR3 to RR4.
    • Style all the things!
      • Improve navigation. I want it to work the way user uses the app and not how the sitemap looks like. Search and Sehaj paath being the main features. We can try interactions like floating icons or tabs ?
      • Use some cleaner react-calendar alternative (make yourself!) - Add calendar #105

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions