Git Product home page Git Product logo

syedmusamah / enciteopedia Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 960 KB

This is a work-in-progress Acedemic Encyclopedia wiki. It contains different features to confirm the reliability and credibility of editors and their edits (like signup, thumbs up/down, voting etc) The project uses the thumbs_up gem for voting, and paperclip for uploading photos

Ruby 96.14% CoffeeScript 2.89% JavaScript 0.97%

enciteopedia's Introduction

Author: Syed M. Usamah 

This project entails an academic encyclopedia based on Wikipedia’s openly editable model. However, the content uploaded and shared must be of academic quality, i.e. from published books and peer reviewed journals. The difference between this site and those that exist already is that this project will give more credence to credibility/reliability rather than to the sheer volume of content that is usually un-academic. The encyclopedia will specifically be targeted towards existing academic knowledge, as there are many issues with current research being shared openly and freely on the internet (including corporate patents, and the willingness of scientists themselves, and so on)

The project will be completed using Ruby on Rails 3.1. I will create my own website, using a MySQL lite database, but will also borrow ideas from open-source wiki-websites, like Wagn and Instiki, that have already been developed using Rails.

The website will be divided in different content categories, with users being able to openly upload and edit content while logged in (anyone can however view this content as of now.) However, part of the website will be implementation that will judge the credibility of the editor as an expert in the field of his edition. This is done by creating a voting system that everyone has to go through to become an editor. Also, there is a  Thumbs Up/ down functionality for edits, which adds/ subtracts the editors credibility score. 

Some additional features:
•	A hits counter for articles
•	A relatively robust search algorithm that can find articles based on their names, categories, and strings of content text. 
•	A separate voting table that identifies all votes, the voter, and the voted for record purposes.
•	Ability to look at the edits posted by particular editors. 
•	Ability to view, on the homepage, recent articles that you have edited, and future editions on them.
•	Encryption and salting of passwords without the use of a plug-in.


Future work:
•	Optimizing performance by inserting a relatively large amount of test data. 
•	Improving the layout and design of the website.
•	Introduce a mechanism to highlight differences between different versions of an article.
•	Allow for hyperlinks in articles that connect to other articles.
•	Add with every article, a discussion page where changes can be discussed.
•	Have some mechanism to increase the say of senior voters in the voting process. 
•	Instead for everyone submitting a request for every new editor, have an automatic system that matches the email address with registered (even previously used) academic institution domains or something to that effect. If this step fails, then a user can submit a request become an editor and be voted on. 
•	Create a separate administration account and views. Right now, even though the views slightly differ, the administrator is just the editor with ID = 11

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.