MVP to create the next generation of DevPost platform.
- Ruby version: 3.0.2
- Rails version: 6.1.4
- Database: PostgreSQL
- Node version: 14.18.0
First make sure you have Ruby installed in your system. You can follow the instructions here depending on your OS. It is recommended to use
Ruby 3.0.2 and newer version
.
- Install project's gem running
bundle install
- Setup DB running
bundle exec rails db:setup
- Install JS dependencies
- Install yarn (dependencies manager)
npm install --global yarn
- Install JS dependencies
yarn install
- Install yarn (dependencies manager)
Run this command on the terminal in the root folder of the application:
$ rails s
Then, visit: http://localhost:3000/
At this point you will be able to see the application in your browser. 🎉🎉🎉
- We should handle Subscriptions as a separate table so that we can join it with Users.
- We may consider to show Subscription to user since the Signup form (set the
is_free
user column to true). - We should implement something like
Pundint
orCanCanCan
to handle user permissions. - Once we have the JS behavior to add remove prizes dynamically when creating Competitions, we should refactor the logic in
new
action ofCompetitionsController
. - Maybe, we can use something like ActiveRecord's counter caches approach for performace at high scale for Competitions to show the total of Prizes value.
- Maybe, we should validate uniqueness of Competition's and Prizes' name.