https://github.com/cuchi/ruddit
Small Reddit clone using Ruby on Rails + GraphQL + React + PostgreSQL :)
https://github.com/cuchi/ruddit
rails ruby
Last synced: 2 months ago
JSON representation
Small Reddit clone using Ruby on Rails + GraphQL + React + PostgreSQL :)
- Host: GitHub
- URL: https://github.com/cuchi/ruddit
- Owner: cuchi
- Created: 2021-12-08T02:56:25.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-09T05:14:17.000Z (over 4 years ago)
- Last Synced: 2025-03-23T05:24:09.136Z (over 1 year ago)
- Topics: rails, ruby
- Language: Ruby
- Homepage:
- Size: 221 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ruddit
> ⚠️🚧 **Work in progress!** Check out the [Roadmap](#Roadmap) ⚠️🚧
## How to run it
Make sure you have:
- [Ruby](https://www.ruby-lang.org/) `3.0.3`
- [Node.js](https://nodejs.org/en/) `16.x`
- [Docker](https://get.docker.com/) with `docker-compose`, ([Podman](https://podman.io/) also works)
Run:
```bash
bin/bundle install
docker-compose up -d
bin/rails db:setup
bin/rails s
```
Here we go! It should be up and running at http://localhost:3000
## Roadmap
- [x] Project setup:
- [x] Rails
- [x] React
- [x] PostgreSQL
- [x] GraphQL
- [x] Linting (Rubocop)
- [x] CI (GitHub actions)
- [ ] CD (Heroku?)
- [ ] Implement features for:
- [ ] Posts listing
- [x] Backend
- [ ] Frontend
- [x] Tests
- [ ] Posts creation
- [x] Backend
- [ ] Frontend
- [ ] Tests
- [ ] User creation
- [x] Backend
- [ ] Frontend
- [ ] Tests
- [ ] User authentication
- [x] Backend
- [ ] Frontend
- [x] Tests
- [ ] Comments listing
- [x] Backend
- [ ] Frontend
- [ ] Tests
- [x] Comments creation
- [x] Backend
- [ ] Frontend
- [x] Tests
- [ ] Voting
- [x] Backend
- [ ] Frontend
- [x] Tests
- [ ] Improvements
- [ ] Improve GraphQL queries (specially recursive ones) to solve the good old N+1 problem
and leverage some batching. The Dataloader feature may help with this
- [ ] Use _Relay-style_ pagination