GithubHelp home page GithubHelp logo

its-mxc / prashna Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 2.76 MB

Quora inspired question asking platform built using Ruby on Rails

Home Page: http://prashna-uday.herokuapp.com/

License: MIT License

Ruby 62.84% JavaScript 6.83% HTML 28.26% SCSS 2.07%
rails bootstrap ruby

prashna's Introduction

Prashna

This is a Quora-clone but with credit system, based on Ruby on Rails Framework.

  • Rails version : 6.0.2.2
  • Ruby version : ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
  • Database adapter : mysql, switch to branch psql for postgresql

Configurations

After installing all the dependencies, configure the application.yml and database.yml files.

Those '.yml' files have corresponding '.yml.example' files attached with them, to get started with sample configurations.

Features

  • Login/Signup - Signup with email, and login with email after confirming the account by email and get certain amount of credits to ask questions. Also supoorts forgot password via email.

  • Questions - User can ask questions in markdown format, need certain credits in account(which can be configured in application.yml), if required credits not available it is saved in draft and can be published when required

  • Topic - Questions when asked can be tagged for topics, and user can browse questions by particular topic

  • Comments/Answers - User can answer questions or comment on it. User can also comment on answers and comments too.

  • Upvote/Downvote - User can upvote/downvote questions, comments, and answers unless it is self authored.

  • Popular Answers - If an answer is popular, i.e. it has certain amount of votes(application.yml), user get certain amount of credits(application.yml). Also if the answer loses popular status, the credits awarded gets reverted

  • Search - User can search questions by thier title or topic

  • Credit Packs - User can buy credit packs , which award credits after successfull transaction

  • Follow - User can follow other user or unfollow, can also browse other user account, and see thier questions, answers, following and followers. User can browse question, asked by the users they follow

  • Report Abuse - User can report questions, answers, comments and if the abuse report for specific enity passes threshold limit(application.yml), and the transaction associated gets reverted

  • Api - Two apis are supported, to get feed for specific user(need auth token) which is rate limited(application.yml), or get questions, related answers and comments for specific topic

  • Admin - Admin can disable user, unpublish question, refund transaction and manage credit packs

  • Notification - Notifications are generated when someone comments on question, answer. Email notifications are sent when someone answers user question, or after succesful payemnt, reciept is sent by email

Rake Tasks

New Admin

Make the new admins with the rake task using:

$ rake admin:new

Clear IP activity

Clean ip activities a certain day before(application.yml):

$ rake clean_ip_activity

prashna's People

Contributors

akhil-vinsol avatar bansalakhil avatar dependabot[bot] avatar its-mxc avatar

Stargazers

 avatar

Watchers

 avatar

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.