Coder Social home page Coder Social logo

chive-show's Introduction

Hi there ๐Ÿ‘‹

An image of @bign8's Holopin badges, which is a link to view their full Holopin profile

chive-show's People

Contributors

bign8 avatar dependabot[bot] avatar natewoods-wf avatar

Watchers

 avatar  avatar

chive-show's Issues

Fix Logging

After looking at the last cron run, it appears logging isn't making it into appengine ๐Ÿ˜ข

Here is the blog post for setting it up: https://cloud.google.com/logging/docs/setup/go

The package docs: https://pkg.go.dev/cloud.google.com/go/logging

Also, side note that the go libraries I'm currently using are for the "flexable" runtime, while the deployements are the "standard" runtime. Personally, I like the standard library's SDK a little better, maybe this should be a driving factor to port the package back to that. nvm, see #11

TODO: figure out which direction APPENGINE is actually going and report back.

Virtualized Content Pane

Currently the infinite scroller is... infinite, meaning eventually, the browser will run out of vertical space. See if we can virtualize the posts scrolling around. Keeping the previous, current and next post elements in the DOM. Note, having image dimensions pre-fetched may be fairly beneficial when configuring this.

[Security] Potential Secret Leak

It has been noticed that while using codecov/[email protected] your token 5c59aefa-2f68-41fe-b438-8c0ec2918830 is present in plaintext. Please ensure that secrets are encrypted or not passed as plain text in github workflows.

Server: Simplify and Cover

Add the appropriate level of abstraction to enable unit testing and increase coverage in the following areas. This issue is a placeholder that can be broken into further components as necessary.

  • UI
  • API
  • Cron (this guy might have some hints on logical separations #2)

Percentile based tag culling

Culling the list of tags to send to the client is currently by a fixed number. As the amount of posts grows, this can grow stale quickly. Instead, use the 75% percentile or a half average (the mathematician in me is cringing right now) as the lower bound instead of 3. An example of this can be found: #2

While we are culling this list, we might try and remove the tags that the chive folks use to control their system. They appear to use the full tag to denote a post is full of images, and the *staple tags to pin posts to the home page. I haven't noticed many tags that are all lower-case that would want to be shared. Anyway, do some noodling on this, either a blacklist or a heuristic function would be sufficient. Maybe store the tags always and just cull when returning posts and tags from the store so we can change the logic later and not have to migrate the data.

Improve Tag Saving Performance

With the tags feature, it appears that saving tags could use some improvement.
I suggest starting a SINGLE transaction; using a GetMulti for ALL the keys involved, and a PutMulti once the counts have been updated.

This Afternoon's Cron Run

Tag Selector

Add the ability to select from all the tags provided by the /api/v1/tags endpoint. Possibly put a hovering button in the lower right (similar to gmail compose button) that opens a menu or something. Some mock ups before contributing would be nice.

Gradual Asset Loading

Assets are currently loaded all at once. Currently doesn't really matter on reasonable hardware, but it would be good to reduce the load on theChives servers.

Add deployment tests to appengine

Problem Automatic deployments can really damage the datastore
Solution Build structure necessary to ensure production datastore cleanliness
Status Staging
Build Build Status codecov.io

TODO

  • Ensure proper DB versioning + prevent db migration errors
  • Tap a DB rollover script
    • Update db with current version from older namespaces
    • Allow incremental (cron based) updates to ensure not exceeding GAE limits
    • Make api executable so integration tests can run on them

Another possibility is to abstract datastore and not write, but softly persist modifying changes to development stores

Add deployment tests to appengine

Problem Continuous Deployment is a neat idea
Solution Use Travis CI to help automate deployment
Status Staging
Build Build Status codecov.io

TODO

  • Deploy to App Engine as release candidate
  • Run deploy tests on App Engine release candidate
    • API request /api/v1/random
    • Index serving
    • Static assets (referenced by index) serving
    • Crawl site (ensure no 404s)

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.