Kekocho, is a fully responsive Single-Page Application(SPA) Quora clone, is a platform "to gain and share knowledge" that allows users to ask questions and get answers from people who have experience and knowledge in the domain.
Authentication part of the app has two separate parts.
It is controlled by the Ruby on Rails framework which provides powerful libraries and secure environment. Encryption library BCrypt is repsonsible for the creation of session tokens whenever a user attempts to login. This session token is stored in the browser as well as the backend.
react-router-dom
is a wrapper that controls the React routes. Using rails' application.html.erb file Kekocho allows a user's session to persist.
- Ruby on Rails
- React
- Redux
Kekocho is hosted on heroku. According to heroku.com, "Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud".
Technology: Heroku
In Quora, a user has many questions. Questions have many answers and topics. Answers have many comments and belong to a particular question. A comment belongs to an answer and a topic has many questions.
Topic and question relationship is established by a join table called topicQuestions. question_ids and corresponding topic_ids are stored on the table.
When a user wants to create a topic while editing a question, the request hits the question_topic_controller. The controller checks whether the topic already exists, and grabs the question_id and creates a question_topic record on the table. With the aid of rails's inverse_of
association, the backend is able to operate fluidly and consistently.
- Postgresql
- Ruby on Rails
pg_search
handles the search part of the app. It uses improved algorithms to make search faster.
-
User should be able to add new topics
-
Smoother UI
-
Instant Search Results
-
Mobile Responsive
-
Infinite Scrolling/Pagination