Giter VIP home page Giter VIP logo

speakerfight's Introduction

Speakerfight
The Easier way to choose the best talks.

Gitter


How to Contribute

In case if you want to contribute with code, I recomend you to look at our Roadmap. In that section you will find many issues to help us to keep on track of an awesome project timeline.
See our CONTRIBUTING.md file to understand how we code.

How to Install

After installation, you will have two users created "admin:admin" and "user:user". In order to use the Social Authentication you need to setup the django-allauth by yourself, for security reasons.

Normal Installation

$ git clone [email protected]:luanfonceca/speakerfight.git
$ cd speakerfight
$ make setup
$ python manage.py runserver

Docker Installation

Dependencies:
$ git clone [email protected]:luanfonceca/speakerfight.git
$ cd speakerfight
$ docker-compose build
$ docker-compose run web make setup
$ docker-compose up

speakerfight's People

Contributors

arturfsousa avatar berinhard avatar biancarosa avatar caiocarrara avatar chirathr avatar deboraazevedo avatar felipevolpone avatar heliomeiralins avatar hudsonbrendon avatar hugoandregg avatar jonatasoliveira avatar jtemporal avatar juliakastrup avatar leonardo-minora avatar lex111 avatar lmangani avatar luanfonceca avatar luzfcb avatar mauricioabreu avatar nicysneiros avatar pgrangeiro avatar phrfpeixoto avatar pyup-bot avatar rennerocha avatar scomert avatar tarsisazevedo avatar vctrmagno avatar victor-torres avatar victorfarruda avatar wagnerluis1982 avatar

Stargazers

 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  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  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  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

speakerfight's Issues

Export Events

Sometimes our Voting process is not enough, so we need to allow the Author and the Admin to export they event, for now just as CSV, with the ID, Title e Author of the proposals.

Add `Jury`

The Jury consist of Users, when the event not allow public voting, this is the only people who can actually vote in the Proposals.

Embedded Submission proposal form

This would be nice, if we had some kind of output html to include in Static sites, like disqus does.

Cons:

  • Would be hard to fill the proposals and make login at the same time;
  • We will lose some kind of fidelity of the users because they will "stop" of using our platform.

Pros:

  • Instead of using a link to our platform the Static Sites of events can just embedded the form submission, then this will encourage the users to submit more proposals;
  • We will add the integration capability to our platform.

Remove the `publish` flag.

In Proposals and Events, the publish flag is practically not used for anyone.
So or we remove him or just the to publish = True.

Allow Events to be Published and Unpublished

Add a boolean field called is_published with default=False, and a toggle button to publish/unpublish this event.
If there is a request.user, the /events/ page show all the published events and the not published which the owner is the logged user, otherwise just the published ones.

Make the CI deploy the server

We already use Travis-ci, Coveralls and Digitalocean, that would be nice if when the test passes the Travis throw a fabric command to deploy in the server.
In this fabfile we need to install, if is not already installed and restart all the services.

$ fab deploy
# Fetch the code from github; 
# Update the python requirements;
# migrate the DB (we need to use Datamigration, EVER)
# call the django collectstatic
# restart the Nginx and Supervisor

Show the Rate Index in the Proposals.

Actually, we can Rate some Proposal, but this value is not showed.
That would be good to show that value in the Event Detail page at the side of the Proposal's description.

Allow Proposals to be Published and Unpublished

For the Mvp version, is satisfied to have just a Boolean field with a checkbox in the Update page to make that Publish/Unpublish action.
If there is a request.user, the /events/<event_slug>/ page show all the published proposals and the not published which the owner is the logged user, otherwise just the published ones.

Create pretty 404 and 500 pages

We already have the templates in the core/templates/ but they are just a plain text, that would be nice if we create a pretty one.

Feedback page for the Event.

It will be nice for us to have an Web page for the Author (and the Jury) to see how his Event is going, how much Proposals and Votes they have. This page should at least be a little pretty, with charts and stuff like that.

This is totally related with the issue #49, maybe it should be better for this issue to start right after the #49 be finished.

Automatic Grade generation and Embbeded output

We need first generate some Grade using some value, like slots of proposals and then organize the proposals, for now just using a ordinary order and let the user reorder, using some code like: http://tympanus.net/codrops/2014/11/11/drag-and-drop-interaction-ideas

This would be nice, if we had some an html output to include in Static sites the accepted proposals for a event, this will facilitate the work of the Organizers in choose talks and build the html, will automate all the work, this is much related to the "Automatic Grade generation".

Use Smarturls

Smarturls is a simple app which creates named args for the regex configs of django url mapper.

$ pip install smarturls

And then in the urls.py file:

from django.conf.urls.defaults import *
from smarturls import surl as url

urlpatterns = patterns('',
  # url(regex=r'^events/(?P<slug>[-\w\d]+)/$',
    url(regex=r'/events/<slug:slug>/',
         view=views.DetailEvent.as_view(),
         name='view_event'),
    ...
) 

Improve the Site

The actually does not pass the meaning of our platform and must the improved, with something like screenshots, texts and a list of latest events.

Redesign the index page

I built the index page in some few second... So it would be nice if we get some time and rebuild it. Showing small features and the latest events, some links to share the Speakerfight on facebook.

Just that already is more than good.

Disallow the acces of the pages by using Decorators.

For now, we have some kind of "permission" which is needed to keep the integrity of the platform, like:

  1. Not show or allow the access of any Event's url when the Events is not published yet, the same to the Proposal (instead in the cases where the logged user is the author).
  2. Not show or allow any Event's url when the Event's author is not the logged user (Like the Update page).

Remove login from Facebook, Gmail and Email.

As our target customers are all programmers, we need simplifies the process of login, allow just for Github.

And this will destroy the dependency of a email-system reminding people of they password and the multiple account problem (Where people with different email make login multiples times.).

Set up Transifex.

In the Future we have to allow the user to choose which idiom he want. Then we will use Transifex for the management of translations.

Share Event

We need to share the Event page in Facebook and Twitter.
I just don't know if we need to create a Facebook Page for the speakerfight.

Remove Event

We need to allow the Event's author, he can delete his own Events, using the django-vanilla-views and a confirmation page.

Improve the Icons

The today icons was downloaded and other are made by my self, but would be more nice if we use something like Font-awesome.

Problem with first time access to login

I've cloned the project ant tried to work on some features but even following the README steps, I couldn't make the project run properly. On some pages I'm having troubles like these:

ImproperlyConfigured at /accounts/login/
No Facebook app configured: please add a SocialApp using the Django admin
Request Method: GET
Request URL:    http://localhost:8000/accounts/login/
Django Version: 1.7.4
Exception Type: ImproperlyConfigured
Exception Value:    
No Facebook app configured: please add a SocialApp using the Django admin
Exception Location: /home/bernardo/.virtualenvs/speakerfight/local/lib/python2.7/site-packages/allauth/socialaccount/providers/facebook/provider.py in media_js, line 115
Python Executable:  /home/bernardo/.virtualenvs/speakerfight/bin/python
Python Version: 2.7.6
Python Path:    
['/home/bernardo/envs/speakerfight',
 '/home/bernardo/.virtualenvs/speakerfight/lib/python2.7',
 '/home/bernardo/.virtualenvs/speakerfight/lib/python2.7/plat-x86_64-linux-gnu',
 '/home/bernardo/.virtualenvs/speakerfight/lib/python2.7/lib-tk',
 '/home/bernardo/.virtualenvs/speakerfight/lib/python2.7/lib-old',
 '/home/bernardo/.virtualenvs/speakerfight/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/home/bernardo/.virtualenvs/speakerfight/local/lib/python2.7/site-packages']
Server time:    Ter, 2 Jun 2015 15:21:36 -0300
Error during template rendering

In template /home/bernardo/envs/speakerfight/core/templates/socialaccount/snippets/login_extra.html, error at line 3
No Facebook app configured: please add a SocialApp using the Django admin
1   {% load socialaccount %}
2   
3   {% providers_media_js %}
4   
5   

Although I can access the system local if I log on admin.

Feedback for the folks!

I thinks in this triggers for email:

  1. Signup;
  2. Event created;
  3. Event receives a new Proposal;
  4. Proposal created (The Event jury and the Proposal author receives an email);
  5. Proposal receives a Vote;
  6. Past week feedback for the Event author;

Add Due Date to Events.

The due_date field is not a required field, but if he is filled out, that Event will not acept proposals after that date pass.

Remove Proposal

We need to allow the Proposal's author to delete his own Proposal, using the django-vanilla-views and a confirmation page for it.

Share Proposal

We need to share the Proposal in Facebook and Twitter.

Make a better Footer

The actual Footer of our project is ridiculously ugly, is just a icon with 70px...

Prepare settings for different environments

Now we have only one settings file and this is a problem when we need more custom configuration depending on the environment, for example, the database or the email backends. We need to split it into differents settings for differents environments or make it more extensible. Maybe we could use @henriquebastos project for decoupling it.

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.