Code Monkey home page Code Monkey logo

cfp-speaker's People

Contributors

hanscappelle avatar jankeesvanandel avatar jayv avatar jollivetc avatar lostinbrittany avatar ndeloof avatar stephanj avatar timpeeters avatar w4tson avatar ybonnel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cfp-speaker's Issues

tweethandle should be optional

Today we had a speaker without tweethandle he had to use a fake handle to submit somthing, this field is optional in the DB, the UI should allow blanks.

Migrate from Maven to Grunt

Maven is useless in this kind of environment. We only used it because we know it well. But it's inappropriate for this kind of application.

  • Set up build scripts/config
  • Change directory structure to match with Grunt conventions

Proper error handling

Currently, when a service responds with an error, the application behaves inappropriately.

We should add some error handling for $http calls.

Improve unit test coverage

Currently, Karma is integrated in the build, but our coverage is still lacking. For maintainability, this should be improved.

Second speaker gives a dozer mapping error

I've tried to submit a talk with me and "Daniel Deluca" as a second speaker and the POST gives a dozer error.

{"message":"java.lang.NoSuchMethodException:UnabletodeterminewritemethodforField:'id'inClass:classcom.devoxx.cfp.model.User","exceptionType":"classorg.dozer.MappingException"}

with payload

{"id":null,"tags":[{"id":317},{"id":330},{"id":333}],"speakers":[{"id":2,"version":83},{"id":1750,"version":4}],"language":{"id":"2"},"title":"How to start your own Devoxx4Kids?","type":{"id":4,"version":13,"name":"BOF"},"track":{"id":19,"name":"Future"},"audienceExperience":"NOVICE","summary":"In this BOF we'll explain how to start a Devoxx4Kids in your own city. Expect practical advice, how to's, do's and don'ts etc.\n\nTurn yourself into a hero for your teenage son or daughter and join the Devoxx4Kids movement! :)","sharedProposal":true}

problem is that the error is not shown on the browser so the submitter doesn't really know if something is going wrong.

Prepare Angular code for minification/obfuscation

The code should be minified and aggregated when deployed to production. The current Angular code is not ready for this.

Refactor this:
app.controller('YadaYada, function($scope, MyService) {
});

To this:
app.controller('YadaYada', ['$scope', 'MyService', function($scope, MyService) {
}]);

Proper logging

Logging is now scattered throughout the app, using standard console.log() statements.

Look for a better way that:

  • Is more robust. For example, we need to know the line numbers/stack traces (possibly MDC-like functionality)
  • Provides a way to do some proactive monitoring on errors, and give us insight in the errors that users encounter. For example, have a logger that sends errors to the server using background ajax calls...

Angular provides $log (http://docs-angularjs-org-dev.appspot.com/api/ng.$log). We might use this and extend it. Advantage is that $log is default angular stuff, but it might be too simple for us.

Only existing tags can be selected and only through auto-completion

I've tried submitting a talk and it seems I can't add new tags to my submission. It does auto-complete on existing tags and those are the only ones that I can add. I tried both with Chrome and Safari. In the meantime I just added a bunch of tags that are vaguely applicable to get the submission sent it and not loose it.

Better naming

Refactor names to match more with the current stat of the CFP: (I used the naming conventions from the Wicket app)

  • Talk -> proposal
  • Speaker -> User

Please add more if you encounter strange names...

Reset password

Potential speakers will want to reset their password, especially after one year many have forgotten it :)

You can use following REST endpoint:

POST /auth/reset/{email}

This will trigger an email to reset your email with following link:
https://staging-cfp.devoxx.com/resetPassword/code/xxxxxxxxxx
and will redirect you (for now) to the old Wicket app (see screenshot)

resetpassword

It would be nicer if an AngularJS landing page can be used?

cannot edit existing talks (eg from Devoxx 2012)

New Proposal submission: Error remains after all fields filled in

Scenario:
1: Entering new proposal
2: Filling all fields (in order top down)
DevoxxUK
BOF
Future
Novice
testDaniel-2013-06-06-02
testDaniel-2013-06-06-02
testDaniel-2013-06-06-02
Test
Daniel De Luca
Checked
Checked
3: Error displayed and remains.
"The proposal is incomplete, all field are mandatory except for the private message. Be sure to verify the number of tags, speakers and the length of the summary is withing the given limits."
Impossible to submit.

Browser: Chrome Version 27.0.1453.110
OS: Mac OSX 10.8.3
Date time: 2013-06-06 19:14

Show popup with event info

Different potential speakers don't know what each event type (conference, university, quickie, etc) mean. So we need to add a (? icon) popup window with more details about each event type.

Using browser back button shows not logged in pages for X secs

Scenario:
1: Log into the CFP web site
2: Click on the proposals
3: Go down (bottom menu) and click on any of the Previous Edition links
4: wait for the Confluence page to load
5: click the back button on the browser
6: you see the non logged in page for X seconds before viewing again the page as logged in user.
X depends probably on the speed/initialization of the cloudbees instance.

The first try was 2 secs, then 0,5 sec but still visible/noticeable.

Browser user: Chrome Version 27.0.1453.110
Platform: Mac OSX 10.8.3
Date/Time: 2013-06-06 18:45

Consistent usage of promises

Currently, some services return promises, and others return concrete objects. This is confusing (especially because JS is not typed, so as a client developer, you don't know what to expect).

Either all of the services should return promises, or none should return promises, or we should figure out a way of dealing effectively with both in client code (without too much cluttering).

Integrate CFP app in new Devoxx site

The current CFP app integrates both main layout and itself.

We still need to figure out a way to integrate this into the devoxx site, preferrably without duplicating a lot of markup.

One way could be server side rendering a couple of template html pages. (of maybe build time rendering the pages for runtime performance) This way, the content is reused along all modules, but the modules are independent.

Additional recommendations to speaker depending on proposal format

For speaker who select "Hands-on" format,
display an additional information page to warn them about

  • conference infrastructure constraints (WiFi, Internet for attendees, ...)
  • ensure all prerequisites are well listed in talk description
  • ensure they have a B-plan to provide prerequisites / work around infra failures

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.