Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/muratcakmak/kekocho
Single-page responsive web application for asking and answering questions inspired by Quora created using Ruby on Rails, Redux, and React
https://github.com/muratcakmak/kekocho
heroku postgresql react redux ruby-on-rails
Last synced: 9 days ago
JSON representation
Single-page responsive web application for asking and answering questions inspired by Quora created using Ruby on Rails, Redux, and React
- Host: GitHub
- URL: https://github.com/muratcakmak/kekocho
- Owner: muratcakmak
- Created: 2017-10-22T16:11:06.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-19T05:35:59.000Z (almost 2 years ago)
- Last Synced: 2023-02-28T10:41:44.908Z (over 1 year ago)
- Topics: heroku, postgresql, react, redux, ruby-on-rails
- Language: JavaScript
- Homepage: http://kekocho.herokuapp.com/
- Size: 22.9 MB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Not maintained
---
## kekocho### Live Version
[live version](https://kekocho.herokuapp.com/)### TLDR;
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.
---
### AuthAuthentication part of the app has two separate parts.
#### Backend Authentication
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.#### Frontend Authentication
```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.#### Technologies:
- Ruby on Rails
- React
- Redux![Alt text](/readme_images/session.gif?raw=true "Login")
---
### Hosting
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
---
### Model Layer
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.
#### Technologies:
- Postgresql
- Ruby on Rails---
### Question Search
![Alt text](/readme_images/search.gif?raw=true "Search")
```pg_search``` handles the search part of the app. It uses improved algorithms to make search faster.
---
### Question Modal
![Alt text](/readme_images/question_modal.jpg?raw=true "Question")
---
### DONE
- User should be able to add new topics
- Smoother UI
- Instant Search Results
- Mobile Responsive
- Infinite Scrolling/Pagination
### FUTURE IMPLEMENTATION