A demo project management app
Switch branches/tags
Nothing to show
Clone or download
Latest commit fa4393a Feb 15, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Init Jan 10, 2018
bin Init Jan 10, 2018
config Change uglifier setting Feb 16, 2018
db Update for postgresql Feb 16, 2018
lib Init Jan 10, 2018
log Init Jan 10, 2018
public Init Jan 10, 2018
test Init Jan 10, 2018
tmp Init Jan 10, 2018
vendor Init Jan 10, 2018
.babelrc Init Jan 10, 2018
.gitignore Update for postgresql Feb 16, 2018
.postcssrc.yml Init Jan 10, 2018
Gemfile updated Gemfile Feb 16, 2018
Gemfile.lock updated Gemfile Feb 16, 2018
Guardfile Init Jan 10, 2018
Procfile Add procfile Feb 16, 2018
README.md Update readme Jan 15, 2018
Rakefile Init Jan 10, 2018
config.ru Init Jan 10, 2018
package.json Init Jan 10, 2018
yarn.lock Init Jan 10, 2018


Let's Build: With Ruby on Rails - Project Management App - 6

Let's Build: With Ruby on Rails - Project Management App

Welcome to my next installment to the ongoing series called "Let's Build: With Ruby on Rails". This 10-part series will cover building a project management type of application from the ground up.

Similar to the previous installments I'll dive a bit further into more technical aspects of Ruby on Rails. We'll discuss things such as nested attributes, model relations, and getting a little fancy with forms using Vue.js.

As prerequisite, I recommend following at least one of the previous parts of the "Let's Build: With Ruby on Rails" series. These will help explain some foundational concepts of which I may skim over in this series. You can find those below:

What are we building? Projekt

For lack of a better name, I titled the app of this series Projekt. The goal of the app is to be a home for any amount of projects(think Basecamp but much more stripped down). A project lives within a team and can have as many users as necessary. A user can only belong to one team at a time (this is a small side-effect of the Devise gem. Ultimately, we'd want to extend this to allow a single user to belong to multiple teams.)

The app will have 3 overlying models/relationships to tie together each other as we press forward but I'll outline the "wants" below:

  1. A User can create a project if they belong to a team.
  2. Creating a team assigns both your own account plus those you invite to a team.
  3. Projects require a team in order to be created.

The tech stack

I think it's pretty obvious we'll be using Ruby on Rails in this series. On top of Rails I wanted to approach our app with a little more modern of a mindset set. Much of the interactivity I introduce has Vue.js to think. In our Teams model for example I implement a form with nested user attributes. The end goal is to create a team and invite new users to the team all at once. Nested attributes and Vue.js make this a very fluid process.

Continue reading at web-crunch.com