Skip to content

mariamrf/oktob

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oktob

Table of Contents:

Overview

Oktob is a writing platform that allows people to:

  • Post (and, of course, edit) stories with multiple chapters.
  • Like/Bookmark stories (liked stories get displayed publicly on user profiles)
  • Follow stories and get notified when/if they're updated (list of followed stories by x are only viewable to x on their home page)
  • Comment on individual chapters.
  • Browse through stories based on genre, rating, word count, number of likes, number of comments.
  • Get notified when someone follows, likes or comments on their work.

There's a depoloyed version of it here (as of March 25, 2016 this version will no longer work as Meteor will be taking down the free hosting and Netflix > paying to host a prototype).

Installation

First of all, you'll need to install Meteor (find instructions here). This works on OS X, Windows, and Linux (Meteor does all the magic anyway).

Next, you'll clone this repo:

git clone https://github.com/blaringsilence/Oktob.git

Then you can run the project via:

cd oktob
meteor

Architecture

(Fancy word for what you'll find in those folders)

  • Client: everything front-end (templates, front-end JavaScript, css/scss)
  • Server: everything back-end
  • Public: the favicon (also where you'd put anything that you want directly accessible via http)
  • Other files: run on both the client and the server. That includes the database schema, and the routes.

Also, there are several packages used (like iron-router, etc) to build this. Meteor should install them automatically when you first run the app, but for your information, they are all listed here.

Front-End

Meteor uses those handy things called templates (in .html) that use variables/methods from template helpers. More about that in the Meteor docs.

The underlying framework for the html is ZURB's Foundation (v6.2.0), documentation for which can be found here.

All the helpers are in the client/client.js file. Each template has its own .html file, but client/main.html is always there, and other templates are rendered into it accordingly (iron-router in routes.js determines which template gets rendered).

Back-End

All the methods can be found in server/methods.js file. If you're not familiar with Meteor methods, they're basically, well, methods that get executed on the server (but don't return anything to the client).

There's also server/publish.js, which accesses the database and returns the data relevant to the client/requested by the client.

Screenshots

/:

Image of home view, top

Image of home view, bottom

/alerts:

Image of 1 new alert notification

Image of alerts with 1 new alert

All the adds:

Image of adding a new story

Image of adding chapter to a story

All the views:

Image of a full story view

Image of single chapter view

/browse:

Image of the browse screen

Image of results page

/profile (logged in)

Image of logged in profile

License

MIT. Details here.

About

Simple writing platform using Meteor.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published