I want just a 30,000 ft. view...an idea on how to start my app. For context, I have studied some RoR and consider myself a step above NEWBIE.
This app is for a company internally. I want to build is basically a "people" picker that creates teams. Let me explain, I want the admin to be able to put in a list of people's names. The list is posted then managers would be able to go through the list and choose which person they want on their team. That person chosen would get an alert (email?) saying they got picked for that team. That person would then say YES or NO depending if they want to be on that team. Every month this cycle would happen again....so basically, an admin would compile a list of names, names are seen/selected by managers and then the people selected would get to choose yes or no if they want to be on that team. That's it.
Obviously, I haven't seen something like this as a project/tutorial online, but I was thinking I could use some sort of POLLING gem and revise it alittle bit? I dunno...any guidance would be GREAT!
What do you think? Thank you in advance as well.
_G
So you need to create 3 roles, admin, manager, user. When a person registers through your sign up form, if they are a regular user maybe you just let them sign up….but if they are a manager or admin you may want to fire off an email to yourself to let you know you need to enable their account by editing a special field in the users table. So when each person logs in, you check the database to see what type of user they are and route them to a different page. Admin goes to a page to create a list of names, a manager goes to a page to select from the list of names created by the admin. Then once the manager saves their selection fire off emails to each selected user. Then when they login they see their pending selection.
This app should be pretty straight forward. What do you need the polling gem for?
What happens if two managers choose the same person? Idea itself sounds pretty simple, heres a list of things you need.
1. As stated by `the_brizzler`, the roles `admin`, `manager`, and `user`, and maybe a `team` which is essentially a join between `manager` and `user`.
2. Landing pages for each of the roles to perform their functions. `admin` gets to add/remove users, `managers` get to check `users` they want on their team.. and I guess `users` can just see what `team` they belong to.
3. Write a mailer with a yes/no button that lets them join or deny a team request.
4. Write a cron job that queues every month to alert `managers` to choose their `users`