whastings / heapsort.io Goto Github PK
View Code? Open in Web Editor NEWA socially-curated collection of web development & programming resources
A socially-curated collection of web development & programming resources
Make your overall text size big
Currently, Heapsort looks pretty bad on tablet and mobile. I aim to change that. Besides leveraging Bootstrap's responsive grid and media queries to adapt the design, I want to use the new window.matchMedia
to add responsive logic to the app's JS, hopefully abstracted into a utils/responsive.js
module.
Users should have a settings page to change email, password, etc. and profile info.
Currently, the flash notice shows up after account creation and stays on the page. Not cool.
Users should be able to have a profile with their basic info, as well as a time-sorted feed of all the resources they have shared.
Don't have any unstyled pages, no matter how insignificant.
As I wrote the bulk of Heapsort's current features very quickly to meet a deadline, they're lacking greatly in test coverage. There are a few specs from a few months ago that likely need updating.
Since most of the app is Backbone-powered, I'd like to add integration tests using Capybara and Phantom.js via Poltergeist.
On each resource, their should be a link to browser other resources from the same domain.
I'd like to add in Redis-based caching to increase performance. Things to try caching include:
I have these methods in helpers right now, but it'd be more appropriate to put them in concerns.
This app definitely needs a good search feature, perhaps backed by something like Apache Solr.
Have buttons to fill out complex forms while demoing (with nice seed data)
I really want to try ActiveAdmin as a solution for administering categories, users, and resources.
Users should be able to write comments and resource descriptions in Markdown, with a live preview region. Rendering can use: https://github.com/chjj/marked or https://github.com/evilstreak/markdown-js
Users should be able to tag resources they share.
Users should be able to filter resource lists by tag.
Users should be able to create new tags.
Style your input, textarea and button tags (use the same size font, color, etc. as the rest of your app, else they stick out like a sore thumb)
A user can report a resource as inappropriate, miscategorized, etc.
Have a guest account (or two, if you need both to demo)
Have a root homepage
Have well groomed seed data (real world stuff, no lorem ipsum)
It is more important to have a consistent design applied everywhere, however minimal, than something fancy here and there, and others painfully untouched.
Ask another student to walk through your app, give them instructions beforehand, and watch them do this on their own, without help. See where they struggle to understand features. Return this favor!
It is very important when demoing your app that when you do actions, like save, befriend, delete, modify, etc. something visually happens on the page to acknowledge the action. This is important user feedback and is crucial for any serious web app.
These two Thoughtbot articles suggest that constant data should be moved out of the database and into constants. Could be a good strategy from BookmarkTypes:
http://robots.thoughtbot.com/extract-mostly-constant-data-from-the-database
Write a killer README covering concept, features, technologies and a bunch of future todos (even if it's unlikely you'll ever do it, it shows that you have thought about better ways to implement features, etc.)
Add helpful tips of a sentence here and there on the spot in your app to guide the user through your app. This makes your implemented features extra obvious.
I would like to see if the app's footprint could be reduced further by excluding parts of jQuery that it doesn't use.
Currently, the app makes an Ajax request to get the data necessary for the initial page. It would be better if that data was embedded in the page requested.
It would be nice to have a few providers for signing-in. Perhaps GitHub and Twitter to start.
The app needs a nice about page to tell visitors what it's all about.
There should be a link to about in the nav bar, as well as a "learn more" link in the welcome message.
When I change the parent of a category, it should regenerate its friendly ID, as well as those of any descendant categories.
Add flash messages to acknowledge saves, etc.
Style :hover actions of input, buttons and links, to show you can click on things. More visual feedback!
Currently, I just have data bootstrapped on the home page. It would be awesome if I could Bootstrap the data for any page initially visited. It seems like this would involve having the pages controller invoke the action of an API controller to retrieve the JSON. I would need to investigate the feasibility of such a method.
Users should be able to filter lists of resources (in categories, feed, favorites, etc.) by resource type (with plans to add additional criteria like tags in the future). This should be in a sidebar on the right.
See the type_filter
branch for the start of the implementation.
I want to use the Rails stale?
method to respond with 304s when the data for an Ajax request hasn't changed.
I'll need to make sure that a category's updated_at
is updated when one of its resources or child categories is updated via touch
.
After some investigation, I found that the user specific data (favorite IDs for resources) makes caching via HTTP overly complex. Instead, I want to work on implementing caching via the browser's localStorage.
Have a one to three sentences statement on your homepage describing your app ('A Tumblr clone', 'A Rap Genius clone to annotate dolphin sounds' etc. Make it painfully obvious what your app does at first glance. You do not have to be witty. Use a big font size. This will look cool and be clear to employers with squirrel attention spans.)
Use your own custom domain (no herokuapps.com subdomain)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.