EVBOGUE.COM


Node project idea - Delicio.us clone

July 28th 2015

I have a big theory that everything that's been built on the Internet can be re-implemented in Node.js. You only need to understand how a program works. The great thing about existing programs is someone programmed them once, so how hard can it be to program them again?

Delicio.us is a good one. Social bookmarking! Because it doesn't really exist anymore. The original program is long gone, lost to seas of time. Pinboard.in is another example of the same program.

This is a a spec. How exactly to re-implement delicious is beyond the realm of this post. I don't know the specifics because I haven't done it.

I'm going to talk about how I think it could be achieved, and what modules to use, and then you get to do the implementing. Unless I'm motivated enough to try it myself before you figure it out. If you do a delicio.us clone, send me the link! ev@evbogue.com

If you need an introduction to Node.js, buy the Node.js book to get your skills up.

If you want to hire me to implement a program in Node.js, or throw a whole bunch of VC money at me to do it, then give me a shout and we'll talk details.

Delicio.us is a three part centralized user-account based program, as I remember it.

  1. The frontend
  2. The backend
  3. The bookmarklet

There's no reason you can't do most of this in Node, except for the bookmarklet. That would need to be done in browser-side JavaScript. The bookmarklet hangs out in your browser's navigation bar and saves a bookmark's name, url, date and any notes you have about the page. Next, it relays it to the backend app for you, so you don't have to manually type any of it in.

The backend would be Node.js. It'd need to take data from the frontend and save it to a database. Let's say Redis, because Redis is fast. But you could just as well use LevelDB, MongoDB, or one of those SQLs. The hardest thing for me would probably be doing the database hookups, because I've never written a database app before. Next I'd use Express or Koa.js as a framework to render routes to receive and display this data. It'd need a /save route that both accepts input from a form and displays output. The app would record an object containing this data. Let's use JSON for that. We'd need /signup and /login routes as well. As well as a /profile page that is editable and a root route / that displays your social bookmarks in chronological order.

If I remember delicio.us, it also had a way to /follow /unfollow and /display all of the bookmarks that your friends have saved as well. While we're at it, we'll need to implement a /search route where you can search your bookmarks for bookmarks you'd saved.

That's it for the backend.

The frontend doesn't need to be anything other than static HTML rendered on the fly for the user session. No need to bring any data to the browser unless you want to do that in a clever way.

That's it folks. Go now and implement! Create a startup and make all of the money. If I missed anything, let me know.


Framework.css

July 27th 2015

Updated: July 28, 2015 Version: 1.6.1

I wanted a decent framework. I looked everywhere for one. I tried out a bunch. None of them were good enough for me. So I created one. I present to you, a decent framework.

Patches welcome, via email.

Framework.css is a single CSS file that works without any JavaScript. Framework won't style your project for you, but will give you a stable base on which to build your site or web application design.

Grid Layout

Framework comes with a percentage-based grid layout. There are twelve columns. This means you should be able to design layouts that work on different sized screens -- from mobile to desktop.

one
eleven
two
ten
three
nine
four
eight
five
seven
six
six
seven
five
eight
four
nine
three
ten
two
eleven
one

Installation

To install Framework.css...

  • Add Framework.css to your project's static folder
  • Add the following HTML code between the <head> and </head> tags
<link rel="stylesheet" href="/framework.css" />

Make sure the URL is the same as where you've uploaded the file on your server.

And build! Design! Create! Make all of the money!


The Mailing

Hear from me when I write a blog post. I'll confirm via email.




To unsubscribe email me.

Blog posts

About

Ev Bogue is the author of Node.js - Code JavaScript.

Email: ev@evbogue.com.

Built with Metalwork.