I need a very simple CakePHP application.
It must have 3 diferent tables:
- Users: id, email, password, companyId, role
- Company: id, name
- Members: id, companyId, name, address, city, categoryId, price
- Categories: id, companyId, name, defaultPrice
You can use the standard CakePHP theme and graphics. Keep in mind that this app is a proof of concept, so it's not mandatory to be beautiful.
The functionality is very easy:
- You start with a login/signup screen. Here you can create a new user (with the role USER).
- If you create an user, you are redirected to the create company screen.
- If you login with an user without company, you're redirected to the create company screen.
- After creating a company (an user can only have ONE company, and a company can only have ONE user), you are redirected to the "dashboard".
- In the dashboard you can:
- Create, read, update and delete categories (simple crud)
- Create, read, update and delete members: When creating or updating members, you must have a combobox (select) for choosing the category. When you choose a category, the price field must be filled with the "defaultPrice" field from the categories' table. After this, the user can change the price value.
- If the logged-in user has the role ADMIN, you are redirected to the admin-dashboard. In this dashboard you can see a list of all users, but you can't do nothing.
VERY IMPORTANT: A user can ONLY access the members of his own company.
- You can only use standard and free or open-source CakePHP modules.
- There must be unit tests for the application
- You can use MySQL or PostgreSQL.
- Start your reply with "CAKEPHP-SAAS". All responses without this word will be ignored.
You must deliver:
- SQL scripts to create the database
- Full source code of the application (including the CakePHP files you used)
- Full source code of the unit tests