GithubHelp home page GithubHelp logo

opinionate's Introduction

Opinionate

We are tired of those stringent options of voting systems today, so we decided to make our owns. Opinionate is a voting system site built on Laravel. It supports various option types, anonymity of users, time-sensitive or privacy-concerned topics.

Deployment

First, use Laravel to create a new app.

laravel new opinionate

After it, remember to configure .env for database connection settings.

Then, set up the git repository to fetch.

git init
git remote add origin https://github.com/jaidTw/Opinionate.git
git fetch --all
git reset --hard origin/master

Or you can just download the archive and replace the original files.

Then do the database migration.

php artisan migrate

Todo

  • createTopic.blade.php
    • question sets and options number constraint.
      • trigger error by the number of DOM elements.
    • rewrite post with jQuery iterator
  • TopicController@store
    • add close_at validation
    • qs and opt number validation
    • may perform question set number checking
  • TopicController@update
    • qs and opt number validation
    • may perform question set number checking
  • Improve Landing Page
  • User dashboard
  • More friendly validation error message.
  • Replace pure sql statements with Eloquent ORM after demo
  • Improve i18n + zh-tw l10n

License

The MIT License

opinionate's People

Contributors

jaidtw avatar rexyuan avatar

Watchers

 avatar  avatar  avatar

opinionate's Issues

Delete Topic Cancellation

Bug: The "Cancel" button in "Delete Topic" modal does not function properly. Instead of closing the modal, it still allows the cancellation to go through.

Fix: (Line 191 of /resources/views/showTopic.blade.php) add data-dismiss="modal" attribute to the button tag.

Things to do about end time

  1. In showTopic.balde.php, if end time is passed, it should show "Ended" instead of the actually time,
    and should forbid the edit operations, i.e. If end time is passed, front-end has to hide all edit buttons, and back-end should added end time checking part for edit operations.
  2. Also, currently there is no control for the VISIBLE_AFTER_ENDED option, needed to perform time checking in both back-end and front-end.
  3. For INVISIBLE, check is only performed in back-end now, and it will cause an error TypeError: data.all_ballots is undefined in the front-end, although the ballots is not showing indeed. This can be fix with 2 together.

artisan的migration reset

若沒有經過php artisan make:migration來新增migration,reset無法正常運作,若更改了migration的檔案名稱也會導致問題。

zh-TW l10n

d9aeac0 set up the text currently needed to be translated in resources/lang/zh-TW/views.php but needs more work on translating the rest of the text. More texts to be localized are expected when the dashboard design is complete.

Pagination Troubles

Because we use raw query, the pagination is bit tricky. I put together a way to get it working but it's far from ideal. There must be something I'm missing.

移除Visualization

現在的設計方式,預計設定了Visualization後就只有固定的視覺化方式,
或許可以考慮移除此限制,單純在前端提供不同資料視覺化的選項。

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.