Let's Build: With Ruby on Rails - Project Management App - Part 6
Web-Crunch
Hi, My name is Andy Leverenz. I design, code, and am an author of things. Check out my blog Web-Crunch https://web-crunch.com🤘🏻
=== PART 6 of 10 ===
☕️Help me keep going: https://www.buymeacoffee.com/webcrunch
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 a prerequisite, I recommend following at least one of the previous parts of the "Let's Build: With Ruby on Rails" series. Find those on my blog linked below!
What are we building? Projekt
⚙️ Download the source code https://github.com/justalever/projekt
For lack of a better name, I titled the app "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:
- A User can create a project if they belong to a team.
- Creating a team assigns both your own account plus those you invite to a team.
- 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.
⚙️ Download the source code https://github.com/justalever/projekt
💻 Previously published at: https://web-crunch.com/lets-build-with-ruby-on-rails-project-management-app
💻 Check out the blog: https://web-crunch.com
💡 👫 Check out my agency: https://coupleofcreatives.com
🦄 Check out my personal site: https://justalever.com
🚀 Links: Weekly Newsletter: https://web-crunch.com/subscribe Twitter: https://twitter.com/webcrunchblog Twitter(Personal Account): https://twitter.com/justalever Facebook: https://facebook.com/webcrunchblog Dribbble: https://dribbble.com/justalever Github: https://github.com/justalever Medium: https://medium.com/the-web-crunch-publication
📘Check out my book on UX Design: "LUXD: Learn User Experience Design" https://web-crunch.com/books/luxd
📙 Check out my FREE book on Tumblr Theming: "Pro Tumblr Theming" https://web-crunch.com/books/ptt
💯 Need awesome web hosting? Check out cloudways. They allow me to use a variety of hosting providers and build apps with ease: http://bit.ly/webcrunchhosting ... https://www.youtube.com/watch?v=SX5KutsKBBY
126101559 Bytes