Giter Site home page Giter Site logo

attendance's Introduction

Attendance

This application will be used to keep track of attendance for Georgia Tech College of Computing student organizations and act as a landing page for them as well.

Dependencies

To run the app locally, you'll need node, npm (packaged with node >= 0.6), mongodb,

Setting up the development environment

First, fork the gt-webdev/attendance repository on GitHub, then clone your fork. For example:

$ git clone [email protected]:[github username]/attendance.git

replace [github username] with your github username.

Then, install all the dependencies and start mongodb:

$ cd attendance
$ npm install
$ sudo /etc/init.d/mongodb start  # or the variant for your system

If you encounter an error with bcrypt during npm install it's posible that your openssl doesn't have the config files that are installed with libssl-dev, installing libssl-dev should fix that problem. If you're still receving errors, try installing node-gyp with sudo npm install -g node-gyp.

Start the app with:

$ node app.js

Code Quality and Documentation

Please maintain well-documented code by providing headers for all named functions and by placing a comment before each logical section of code describing what is being done. Pull requests for undocumented code will not be merged.

All .js files should be validated with jslint using the following rules:

/*jslint browser: true, devel: true, node: true, bitwise: true, 
continue: true, debug: true, eqeq: true, es5: true, forin: true, 
newcap: true, nomen: true, plusplus: true, regexp: true,undef: true, 
sloppy: true, sub: true, vars: true, white: true, on: true, indent: 2 */

For validation, you may either use the online validator or use an editor extension such as jslint.vim for Vim.

Testing

Before submitting changes for a pull request, make sure that all tests are passing.

tests coming soon

Submitting changes

To submit changes, make a new branch for your change, and then add commits, and then submit a pull request on GitHub.

attendance's People

Contributors

ash211 avatar magicjarvis avatar thedekel avatar thejenix avatar thelastnode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

attendance's Issues

Tests

We should test things.

Paginate and sort Events

Show events ending after the current time, sorted by the start time. "Earlier events" and "Later events" buttons.

Server crash when entering empty password


node.js:134
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
Error: data and hash arguments required
    at Object.compare (/home/andrew/src/attendance/node_modules/bcrypt/bcrypt.js:125:15)
    at Promise.<anonymous> (/home/andrew/src/attendance/lib/auth.js:19:16)
    at Promise.<anonymous> (/home/andrew/src/attendance/node_modules/mongoose/lib/promise.js:120:8)
    at Promise.<anonymous> (events.js:64:17)
    at Promise.emit (/home/andrew/src/attendance/node_modules/mongoose/lib/promise.js:59:38)
    at Promise.complete (/home/andrew/src/attendance/node_modules/mongoose/lib/promise.js:70:20)
    at /home/andrew/src/attendance/node_modules/mongoose/lib/query.js:885:15
    at model.<anonymous> (/home/andrew/src/attendance/node_modules/mongoose/lib/document.js:169:5)
    at model.init (/home/andrew/src/attendance/node_modules/mongoose/lib/model.js:175:36)
    at /home/andrew/src/attendance/node_modules/mongoose/lib/query.js:883:12

File upload and storage

The ability to upload files and attach them to the page or an individual event.

Example use cases:

I would like to host the club logo directly on ccorgs.com.

I want to upload the club meeting minutes for a specific event, and attach it to the event for future reference.

I need to distribute a powerpoint slide deck or compiled app or library to the club members.

Automatic links in description markdown

I can create links within the orgs description markdown using the format [text](link title), but not using the automatic links feature (e.g. ). Automatic links are useful for linking email addresses, as it will obfuscate the email address to fool automated scripts and bots bent on sending me junk email.

Preview pane or button in edit page

When editing a description, it would be great to be able to preview the rendered page before clicking save. As a use case, I browse to the GIT MAD page, I click edit, I update some information in the page, I click preview and see either a popup or a enclosed frame below that has the rendered page. I then tweak the markdown, preview it, and once I'm happy I click save.

Page title as separate from org title

It would be nice to be able to title our orgs page separately from the title of the link used to access the page (e.g. The link says "GIT MAD" but the top of our page says Welcome to GIT MAD.."

Page regions

It would be great to define "regions" on the page that can be independently updated. This would allow us to create complex web pages without having to maintain one massive document.

As an example use case, I would like to define a description region at the top left, an events region on the side, an announcements region across the top center. When I click "edit" on the announcements region, I only see the markdown for that one region and I do not affect the markdown and text for the description and events.

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.