Gist lab is an experimental Meteor application which uses Github API to manage your GISTs. Besides browsing and editing features it gives you ability to organize your Gist library with labels.
To run project you have to:
- Install NodeJS, if you already don't have (I'm using
v4.1.2
) - Install Meteor framework (install docs) (v1.3.2.4)
- Install all npm dependencies (
npm install
in main directory of app) - Run project with
npm run dev
Project is build on top of Meteor framework (v1.3.3). Adopted dir structure follows Mantra specification which standardizes many aspects of maintaining complex Meteor applications.
Libraries which are widely used within app:
- React, ReactDOM and some React related libs (like
react-komposer
,react-mounter
), - Semantic UI as a core CSS framework used to style content,
- Building styles is covered by SASS and PostCSS (with Autoprefixer) which enable developer to use CSS modules and provides styles for 2 most recent versions of popular browsers,
- Flow-Router is used as routing library.
If you're familiar with Meteor you'll know that there sits MongoDB and all NodeJS stuff.
- 3 column layout.
- Authentication with GitHub.
- View user's gists and gists he starred.
- User can create and remove labels.
- User can add/remove labels from/to gists.
- User can browse gists by label.
- User can create and edit gists.
- User can delete gists.
- User can switch between public and private gist status.
This module provides core functionality for app like authentication, browsing gists, notification system etc. Also provides main layouts and default styling of app.
During development you should follow GitFlow branching method.
To check if code written by you applies adopted coding standards please use ESLint package.
npm run lint
To run tests simply execute npm test
. So far there are only few tests for component gists_list_item. More comming soon...
To version management of app please use npm's package mversion
.
- Tests are able to run!
- Had to downgrade to Meteor
1.3.2.4
- Documentation
- Update of Meteor to
1.3.3
- Better loading layout for list item.
- Unselecting active element while reaching home.
- Loading state of list item.
- Hide labels menu when user is not logged in.
- Better
no items
layout. - Few other minor fixes.
- Labels functionality (managing and assigning to gists)
- Filtering list by labels
- Ability to review all files of shown GIST.
- Some UX/UI fixes.
- Fetching data on login and page load.
- Fetching data from Github
- Listing items, filtering them.
- Navigation
- Authentication with Github
- Auth Button
- Displaying menu options
- Initial project structure based on Mantra specification (0.2.0)