Vikas Sharma


50 Experience
0 Lessons Completed
0 Questions Solved


I am an iOS developer developing my first rails app. I would like to have suggestion on what i am trying to build. I want to create a web portal for different type of service providers.
Any body can sign up as user with basic info like name, email, password, address, phone.
After sign up user have to add the service they can provide and want to list on web portal. User have to select service from predefined list of services. Like Chef, Dancer, Musician.
A user can add more than one service. After selection of the service they have to provide some more info about the service. Some of basic information like price, experience are common for all service type, but for particular service user have to provide different info like if user is a chef then what kind of cuisine he can cook. If he is a Musician what kind of instrument he can play. I like to get some help on structuring the database model for the project.

Here is what i came up with,

User (id, name, email, password, phone, address, serviceId)

BaseService (id, type, price, experience, references)

ChefService extend BaseService (cuisineType, dietaryType, maxPeopleAccommodate)

MusicianService extend BaseService (genreType, instrumentType, areYoyABand, noOfBandMember)

Please let me know if i am on wrong path and this is not the right way to implement it. I am confused about the different service type. How can i save it and get it back. What is the right way to implement it so in future i can add more service types and more attributes on specific service.

Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more.

© 2023 GoRails, LLC. All rights reserved.