GithubHelp home page GithubHelp logo

civicmakers / client Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 9.0 1.98 MB

This is the code repository for the CivicMakers knowledge sharing experiment.

Home Page: http://civicmakers.firebaseapp.com

License: GNU General Public License v3.0

JavaScript 43.15% ApacheConf 13.41% CSS 10.68% HTML 32.18% Ruby 0.58%

client's People

Contributors

bteng22 avatar eternal44 avatar grodeska avatar jamestyack avatar olliebeannn avatar philril avatar therebelrobot avatar ybentz avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

client's Issues

Project email notifications

As a story owner, I would like to receive email notifications of questions asked on my story.

As a practitioner, I would like to receive email notifications of answers to my questions.

Requirements: - email notifications to owner for questions asked

  • email notifications to users whose questions are answered

Story does not have reference to user ID that created it

... and the 'created by' section on the story page is not the user...it's the project logo/name!

  • Firebase needs a pointer in the project object to the user id that was logged in when the project was added
  • UI needs to be updated to pull in the field

Fix typo on tool input form

Form description should read:

"Share a tool with the civic tech community! It could be a product, a Github repo, or a best practice. If there's a tool you've built or you use for civic projects, your peers want to know about it."

Add privacy policy

As a user, I would like to be able to read the privacy policy for the CivicMakers site.

  • Add new view
  • Add "Privacy policy" link in footer

Add "start a project guide" page

As a user, I would like to see a guide to starting my own project. I can access this guide from the "do this in my area" button on the project page.

This page should be a new view.

Url for this page should be: civicmakers.com/start-a-project-guide

Content is forthcoming from Lawrence

Add Project page - adding tools

When adding tools on the '/add/project' page - tool names and images should bind with whatever user types and a corresponding tool. However, any input in the input field renders all of the tools no matter what you type.

I believe the error occurred when we required a user to login to add anything to our page see sha# 8d15e3.

client/app/projects/AddProject/AddProject.html

-     <div class="lil-card" ng-if="searchInput !== undefined " ng-repeat="tool in tools | filter:searchInput | limitTo: 12" ng-click="addToTools(tool)">
+     <div class="lil-card" ng-if="addProjectCtrl.searchInput !== undefined " ng-repeat="tool in addProjectCtrl.tools | filter:searchInput | limitTo: 12" ng-click="addProjectCtrl.addToTools(tool)">
        <img ng-src="{{tool.image}}" alt="">
        <p>{{tool.name}}</p>
      </div>

-     <div class="selected-tools" ng-if="selectedTools.length !== 0">
+     <div class="selected-tools" ng-if="addProjectCtrl.selectedTools.length !== 0">
       <h3>Your Selected Tools:</h3>
       <div class="card-container">
-        <div class="lil-card" ng-repeat="selectedTool in selectedTools track by $index">
+        <div class="lil-card" ng-repeat="selectedTool in addProjectCtrl.selectedTools track by $index">
          <img ng-src="{{selectedTool.image}}" alt="">
          <p>{{selectedTool.name}}</p>
         </div>
@@ -51,7 +51,7 @@

   </form>

client/app/projects/AddProject/AddProject.controller.js

+(function() {
+  function AddProjectCtrl($scope, ProjectApi, $location, ToolApi, AuthenticationService) {
+    var self = this;
+    this.projectFormData = {
+        // TODO: prevent duplicates
+        tools: []
         // authorIp:
         // cfApiProjId:
         // cfApiOrgId
     };
+    // TODO: prevent duplicates
+    this.selectedTools = [];

     ToolApi.getAllTools().then(function (tools){
       console.log('add project tools',tools);
-      $scope.tools = tools;
+      self.tools = tools;
     });

-    $scope.addToTools = function (input) {
-      $scope.selectedTools.push(input);
-      $scope.projectFormData.tools.push(input.$id);
+    this.addToTools = function (input) {
+      this.selectedTools.push(input);
+      this.projectFormData.tools.push(input.$id);
     };
-// TODO: prevent duplicates
-    $scope.selectedTools = [];
+    

Clean up SCSS

Create name spaces for all elements
Define style guide standards
Create directives that can be extracted

Cards are cropped when tag list is long

Right now the height of the story/tool cards is fixed (180px).
In case the tags list is too long the cards seem cropped at the bottom like so:
Image of Yaktocat

@olliebeannn, @cpalmatier please share your thoughts on this.
These are possible solutions I thought of:

  • Having each card expand and still keep the rows (cards start at the same height and the row ends where the longest card ended).
  • Pinterest style (see example - http://cssdeck.com/labs/css-only-pinterest-style-columns-layout press the refresh button at the top right if nothing appears)
  • Restyle the tags list in a way that it'll always take the same space.
  • Remove tags list from cards (only show it on story/tool profile)

Organize and update Gruntfile

The gruntfile is currently not behaving properly for several reasons:

  • There are tasks that don't exist but are in some task lists (concat for example).
  • The flow - copying files to .tmp on serve and to dist on build doesn't work as it should.
  • Some tasks don't work (autoprefixer for example).
  • Some tasks don't work properly (grunt-ng-annotate doesn't work for controller functions inside directives for example).
  • A few node modules are really outdated: need to run 'npm outdated', go over the list and update whatever's possible (make sure things work properly if upgrading major version).

'Back' button doesn't work

Any time I click on the 'back' button the url goes back but the page itself doesn't.

I'm using Chrome on Ubuntu 12.04.

Click to new view, page does not scro

When clicking tools or stories on home page, new view should scroll all the way to the top.

This:

screen shot 2015-12-02 at 9 34 15 pm

Should look like this:

Screen Shot 2015-12-02 at 9.35.30 PM

Open login modal if no email listed but user is logged in

At the moment if the user logged in with twitter but didn't give us his email (for example closed the login modal without registering) if the user then wants to write to the db he can.
We need to pop the login modal any time we check if the user is logged in and make sure we have his email.

Add ability to associate CFAPI projects to a story

Previous comments from James Tyack:

If we're associating projects 'from cfapi' is this associating a project stub with a cfapi project?

If we're calling CFAPI, we may need some back-end proxy...I'm thinking that Express may be useful here? I know that there can be issues if you try to call a third party site from client's browser (CORS etc)

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.