GithubHelp home page GithubHelp logo

h2h's People

Contributors

adbhasin avatar conlini avatar rahulmamgain avatar

Watchers

 avatar  avatar  avatar  avatar

h2h's Issues

Utiltiy scripts

Need utility scripts for common functions such as DB upgrades, static files publish, etc

This would reduce the need for dev/deployment to not have to login in to a server and ease setup

to begin with, we need scripts/utility for

  1. DB upgrade
  2. static file publish
  3. template generation

Wish List/Quick wins

List of quick wins/wish list

  1. Cache product items on start in repo. Use the same for filtering
  2. Create "bucket filters" for recently used filters
  3. Have a bootup/static data ingest script
  4. Compile/Publish templates script
  5. Cache refresh at configurable time
  6. Logging configuration
  7. Add metrics of time taken for requests. log time taken, request type to begin with

inconsisten usage of property and param

most of the code is filled with either using "param_name" and the rest uses "property_name"

This causes immense confusion. Clean up the same and keep single usage terminology

Cached products are not "truly" cached

Caching of product items doesnt help caching with a subsequent call to its foreign referenced object

a call such item.itemparam_set.all() would land up hitting the DB once again for each ItemParam and hence defeats the overall caching process


Proposal: Convert the DB models to an internal app model when loading and vice versa when saving

Worfkows for Build my stack/suggest me a stack feature

Abstract
Build/Suggest me a stack works on the principle of asking user basic questions on what they wish to do and what are some of basic tech requirements. The h2h engine can then use data from various tech products to suggest a suitable stack for the user.
The Build me a stack can further go on the deploy a bare minimum setup based on suggested technologies on the users account and provide them with end points to interact with

Proposed Framework
I am tinkering with the idea of using workflows for this feature. Based on an entry point(say a static 'no clue what you want' node') the user is given questions. Each question is embedded with hints on what the target tech and filters would correspond to, also keeping in mind previous answers. This would then lead the user down one of the paths of the workflow and ultimately providing the required stack

Example
Do you wish to use NoSql | Yes/No
If yes:
    [options] : Couch/Mongo/Cassandra/etc?
    [Next - question ] Would you require attribute level filtering capabilities | Yes/No
        if yes:
           [options] couch/mongo
        else:
           [options] cassandra
else:
    [options] mysql, oracle, postgres

The evaluator would pick hints to provide the next possible path.
It also will allow easily adding new flows into the system as the product matures

@rahulmamgain @heckdevice Let me know if this makes sense and I can then try to build a framework with some norms on the same

Templates for maintaining various pages within h2h

Abstract
With a recent patch I have now moved to hierarchical templates within the h2h.
These templates are rather static in the context of "true" templates and only use the concept of inheritance and blocks

Motivation
The notion of having to define the entire page structure for a new page was quite annoying. Templates allows defining the base structure and then subsequent user views(home, category entry, product entry, etc) to inherit the template and substitute the basic view functionality within the templates body block.
This allowed for a single base.html to house all the styles and js required for the sites functionality and individual pages to concentrate/leverage on the same. Thus a change in the base look nd feel would require a localized change


Working Agreement
The usage of templates would be purely static and dev phase only.
The ultimate idea would be to tie in generator scripts that would deploy each of the rendered html into a set of generated folders as static resource
Note: the templates would not be generated on run-time/page request, but as part of a deployment/build phase


Issues/Concerns
The concept of having python based templates means we now will land up in probably slower dev of the UI.
UI dev would require a cycle of [ deploy generated html > test > modify template ]
In my view this could be a big hurdle and scope of slowing down the quick feedback that non-template/fully qualified HTML pages will have


@rahulmamgain Does this make sense in pursuing or is there an equivalent way of doing this with HTML like templates(without moving to JSPs) and not compromise on dev ease?

Let me know your thoughts

range filters issue

Adding a value to the range filter appends the filter value as a string rather than an int

{"query":{"category":"cat1","filters":[{"active dev":[true]},{"read speed":["900","1000"]},{"released":[854,"1000"]}]}}

The API expects these to be an int

This is on branch feature/task/tests

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.