For this project, you will be building a sales tracking system. Your application should be able to handle different roles of users coming into the system.
You work as a developer for a company that manufactures and sells longarm quilting machines. This company employs its own sales staff. They also have dealers, which are independent contractors, that refer sales leads to the sales team. Sales leads can also come in from the internet or email system. Previous customers can also refer sales leads.
A dealer should be able to login to create a sales lead. They should be able to see the status of the lead and update sales lead information (say the customer comes in the second time). All sales go through the sales department. The sales department takes the lead and converts it to a sale by adding a product to the lead. Customers should be able to log in and see their previous purchases. They should also be able to refer sales lead. The admin should be able to setup dealers and sales people.