Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .em/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"view": {
"html": {
"create": true,
"extension": ".html"
},
"css": {
"create": true,
"extension": ".less"
},
"js": {
"create": true,
"extension": ".js"
}
}
}
6 changes: 6 additions & 0 deletions .meteor/.finished-upgraders
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# This file contains information which helps Meteor properly upgrade your
# app when you run 'meteor update'. You should check it into version control
# with your project.

notices-for-0.9.0
notices-for-0.9.1
1 change: 1 addition & 0 deletions .meteor/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
local
7 changes: 7 additions & 0 deletions .meteor/.id
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# This file contains a token that is unique to your project.
# Check it into your repository along with the rest of this directory.
# It can be used for purposes such as:
# - ensuring you don't accidentally deploy one app on top of another
# - providing package authors with aggregated statistics

po6sgz17te2ds1t1cdz6
1 change: 1 addition & 0 deletions .meteor/cordova-plugins
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

23 changes: 23 additions & 0 deletions .meteor/packages
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Meteor packages used by this project, one per line.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.

meteor-platform
iron:router
simison:bootstrap3-less
accounts-base
accounts-password
ian:accounts-ui-bootstrap-3
jquery
less
reactive-dict
#lawshe:full-page
joshowens:accounts-entry
jeremy:selectize
tsega:bootstrap3-datetimepicker
mrt:moment
cfs:standard-packages
cfs:filesystem
random

1 change: 1 addition & 0 deletions .meteor/release
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
METEOR@0.9.3.1
94 changes: 94 additions & 0 deletions .meteor/versions
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
accounts-base@1.1.1
accounts-password@1.0.2
anti:i18n@0.4.3
application-configuration@1.0.2
autoupdate@1.1.1
base64@1.0.0
binary-heap@1.0.0
blaze-tools@1.0.0
blaze@2.0.1
boilerplate-generator@1.0.0
callback-hook@1.0.0
cfs:access-point@0.0.0
cfs:base-package@0.0.0
cfs:collection-filters@0.0.0
cfs:collection@0.0.0
cfs:data-man@0.0.0
cfs:file@0.0.0
cfs:filesystem@0.0.0
cfs:http-methods@0.0.24
cfs:http-publish@0.0.0
cfs:power-queue@0.0.1
cfs:reactive-list@0.0.0
cfs:reactive-property@0.0.0
cfs:standard-packages@0.0.2
cfs:storage-adapter@0.0.0
cfs:tempstore@0.0.2
cfs:upload-http@0.0.2
cfs:worker@0.0.0
check@1.0.1
coffeescript@1.0.3
ctl-helper@1.0.3
ctl@1.0.1
ddp@1.0.9
deps@1.0.4
ejson@1.0.3
email@1.0.3
fastclick@1.0.0
follower-livedata@1.0.1
geojson-utils@1.0.0
handlebars@1.0.0
html-tools@1.0.1
htmljs@1.0.1
http@1.0.6
ian:accounts-ui-bootstrap-3@1.1.9
id-map@1.0.0
iron:core@0.3.4
iron:dynamic-template@0.4.1
iron:layout@0.4.1
iron:router@0.9.4
jeremy:selectize@0.1.3
joshowens:accounts-entry@0.9.0
joshowens:simple-form@0.1.8
jquery@1.0.0
json@1.0.0
less@1.0.9
livedata@1.0.10
localstorage@1.0.0
logging@1.0.3
meteor-platform@1.1.1
meteor@1.1.1
minifiers@1.1.0
minimongo@1.0.3
mobile-status-bar@1.0.0
mongo-livedata@1.0.5
mongo@1.0.6
mrt:accounts-t9n@0.0.13
mrt:moment@2.8.1
mrt:underscore-string-latest@2.3.3
npm-bcrypt@0.7.7
observe-sequence@1.0.2
ordered-dict@1.0.0
raix:eventemitter@0.0.1
random@1.0.0
reactive-dict@1.0.3
reactive-var@1.0.2
reload@1.1.0
retry@1.0.0
routepolicy@1.0.1
service-configuration@1.0.1
session@1.0.2
sha@1.0.0
simison:bootstrap3-less@0.3.0
spacebars-compiler@1.0.2
spacebars@1.0.2
srp@1.0.0
stylus@1.0.4
templating@1.0.7
tracker@1.0.2
tsega:bootstrap3-datetimepicker@0.4.0
ui@1.0.3
underscore@1.0.0
url@1.0.0
webapp-hashing@1.0.0
webapp@1.1.2
129 changes: 24 additions & 105 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,114 +3,33 @@ The Challenge - Clean India

Inspired by [The Ugly Indian](http://theuglyindian.com) and the [community](https://www.facebook.com/theugl.yindian) who have been transforming public spaces in the country over the past few years, create a software application that empowers people to take charge and solve problems in their neighborhood.

Some History
============================

###Why?


> "I beg every citizen of the country to pledge 100 hours a year towards cleanliness. This work cannot be done by the PM, CMs or ministers alone. Every citizen of the nation has to pledge to keep the country clean" - Prime Minister Narendra Modi on 24th Sep 2014

If you have been following work inspired by [The Ugly Indian](https://www.facebook.com/theugl.yindian) on facebook, you will see that it takes only a few people to go out and bring about a change.



###What?


![PM's message to dedicate 2 hours per week to spotfixing](https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-xfp1/t31.0-8/r90/10623637_758609274198330_1043844814865936707_o.jpg?dl=1)

In short do a spot fix - A spotfix is transforming a public space by solving the basic underlying problems

![An example of spotfix](http://33.media.tumblr.com/7ca066c821c7ef7ca41a1154fb072405/tumblr_n7w439SmZN1tw6339o1_1280.jpg)


The photos [here](http://theuglyindian.tumblr.com/) and this [Reddit AMA](http://www.reddit.com/r/india/comments/24uw33/hi_rindia_i_am_anamik_nagrik_an_ugly_indian_ama_r/?sort=top) cover most questions you will have about this approach and proactive style of working.

There is even a book on this [here](http://theuglyindian.com/books/)



###How?


Create an application (mobile or web) that enables people from across the country to plan, organize and execute a spot fix.

###Who and Where?


Anyone from any part of the country can participate. The entire process is online. You can do this as an individual or find a team to build this.

###When?


September 24 - Oct 1

We need you to complete your application and submit it by 11:00 PM on 1st October 2014 IST.


###What do you get out of this?

You can create an application that can inspire an entire generation of Indians to *see the change they want to be*.

The best entries will be showcased, promoted and used by people who have been inspired by 'The Ugly Indian'

###Submission

- You will have to email indiarisingtech@gmail.com with a link to the working version of your application along with brief details on how to use it and some screenshots.
- If you have your code on github, submit a pull request to this repository.


###Requirements


- You can build either a mobile or a web application. There are no restrictions on the platform you can build. All we care about is that whatever you build works, is easy to use and has the potential to have mass appeal.

The primary functional requirements for the app include
- **Planning a spot fix** | Any person who is interested to do a spot fix should be able to upload a photo, location and description of the spot along with a planned date she or he intends to fix it on.
- **Joining a spot fix** | Any person should be able to browse through planned spot fixes in their vicinity and be able to join the spotfix and share the fix across social media.
- **Reporting a spot fix** | Any person should be able to report a spot fix after it has been completed. The user should be able to upload a before/after picture, a geotagged location, a date and a description of the fix.
- **Map based dashboard** | The primary interface should be map based that shows spots that are available for a fix and spots that have been fixed. The dashboard should let users navigate to each of the spots and browse the details. The dashboard should also report metrics like - Total number of hours volunteered, total number of spot fixes and other interesting aggregated metrics.



###Frequently Asked Questions

- **Do I need submit a complete application?**


We understand that the time period might not be sufficient to complete the entire project. We would like a functional prototype with the possibility of extension. It should be usable. We recommend you build upon the skills you have. If you are a designer, build the aspects your are familiar wih first (Screen mockups, UI/UX flows). If you are developer, write things that work while providing a usable UI. We want to use whatever you make and build on it in the future by contribution from the community. So don't let the enormity of the task let you down. Just do and submit your best.

- **What kind of submissions have people been sending you?**

We have had one person sending us an API built in `nodejs` that could be used by any application developer to build the frontend of their application. [Here is the pull request he sent](https://github.com/indiarising/hackathon/pull/1). We had someone else contributing to the existing documentation. We have had people working end to end on finishing a working prototype of the application. We have had people sending in some tools they have built that could be used for this project. We have had designers and agencies sending in mockups and UX flows. And several other things. As you can see, people are doing whatever they are best at while trying to achieve the goal of the hackathon. We intend to use the things learnt from this process for a more long term project that will involve you and your work.



- **Why do we have to create a github page and submit a pull request?**

Having a github page lets us easily share your work with the community. Submitting the pull request lets us easily track your work while keeping things transparent. Even if you do not finish your submission this time, we know you have tried something and you will be kept in the loop when we build on this further.

- **What if I am not a programmer but a designer or an agency?**

As mentioned earlier, focus on what you do best. If you are a design agency willing to build design concepts around the UI/UX flows or assets (logos/banners/iconography/typography) we could use in the future, go ahead and build it. The submission process remains the same. Creating a github page and submitting a pull request is not very hard. Drop us a mail if you get stuck.


- **I don't have the necessary skills to finish everything and would know if there is a way to find a team**

We do not currently have a process to form team. We would like you to find someone know and try to build things. It is perfectly okay to build only the part you are good at. You can also send us an email and we could maybe figure out something.

- **What if I am interested but can't do anything this time or before the 1st Oct deadline?**

Create a github page and send it as a pull request telling us about how you can build this and write a bit about how you can contribute. That way we know you are serious about this. Send it as a pull request and we will keep you in the loop in the future. Also send us an email.

- **What is github and how do I use it? (Skip if you are already familiar with using git)**

Github is a version control and collaboration platform for projects, mostly projects that involve code but can also be used for documents and even sharing and collaborating on 3D models. To start with github register on https://github.com/ and, [Fork the hackathon Repository](https://help.github.com/articles/fork-a-repo) by hitting the fork button on [the repo](https://github.com/indiarising/hackathon). Then [create a new file](https://github.com/blog/1327-creating-files-on-github) adding whatever you want to it. You can add images, links and pretty much anything when you create the page. Read more [here](https://github.com/blog/1327-creating-files-on-github). Then [submit a Pull Request](https://help.github.com/articles/using-pull-requests) to our repository.



This is a follow up to our app idea at [#hack4good 0.6](http://hack4good.io/) which finished second place in Bangalore.

Presentation on [Youtube](https://www.youtube.com/v/LXV5L6TIeuU?start=262&end=780) from 4:22 to 13:00

### For any questions email *indiarisingtech@gmail.com*
[GitHub repo](https://github.com/kaoskeya/act)

Features
============================
* Easy user sign up.
* Creation of spotfixes/events with loction marked using a map.
* Map and List view of spot fixes.
* RSVP and realtime updates for all connected users.
* Google Material Design.

Roadmap
============================
* Organisation sign up with facebook page.
* Susbribe to users.
* Better filter.
* Timeline of spot.
* View photos of spotfix.
* Share on Social Media.

Demo
============================

[View our app](http://128.199.207.159) and Star/Fork.
4 changes: 4 additions & 0 deletions both/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/*****************************************************************************/
/* App: The Global Application Namespace */
/*****************************************************************************/
App = {};
8 changes: 8 additions & 0 deletions both/collections/activities.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Activities = new Meteor.Collection('activities');

/*
* Add query methods like this:
* Activities.findPublic = function () {
* return Activities.find({is_public: true});
* }
*/
15 changes: 15 additions & 0 deletions both/collections/images.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Images = new FS.Collection("images", {
stores: [new FS.Store.FileSystem("images", {})],
filter: {
allow: {
contentTypes: ['image/*'] //allow only images in this FS.Collection
}
}
});

/*
* Add query methods like this:
* Images.findPublic = function () {
* return Images.find({is_public: true});
* }
*/
8 changes: 8 additions & 0 deletions both/collections/organizations.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Organizations = new Meteor.Collection('organizations');

/*
* Add query methods like this:
* Organizations.findPublic = function () {
* return Organizations.find({is_public: true});
* }
*/
8 changes: 8 additions & 0 deletions both/collections/tasks.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Tasks = new Meteor.Collection('tasks');

/*
* Add query methods like this:
* Tasks.findPublic = function () {
* return Tasks.find({is_public: true});
* }
*/
13 changes: 13 additions & 0 deletions both/methods/activities.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*****************************************************************************/
/* Activities Methods */
/*****************************************************************************/

Meteor.methods({
/*
* Example:
* '/app/activities/update/email': function (email) {
* Users.update({_id: this.userId}, {$set: {'profile.email': email}});
* }
*
*/
});
13 changes: 13 additions & 0 deletions both/methods/create_organization.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*****************************************************************************/
/* CreateOrganization Methods */
/*****************************************************************************/

Meteor.methods({
/*
* Example:
* '/app/create_organization/update/email': function (email) {
* Users.update({_id: this.userId}, {$set: {'profile.email': email}});
* }
*
*/
});
13 changes: 13 additions & 0 deletions both/methods/users.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*****************************************************************************/
/* Users Methods */
/*****************************************************************************/

Meteor.methods({
/*
* Example:
* '/app/users/update/email': function (email) {
* Users.update({_id: this.userId}, {$set: {'profile.email': email}});
* }
*
*/
});
Loading