Java Vaadin Webapp Development Team Needed -- 2
Budget: €3,000 – €5,000 EUR
Requirements for SaaS Multi-Role Platform in Java Vaadin with Plain Java Components
1. General Requirements:
Technology Stack: The platform must be developed exclusively in plain Java using Vaadin. No Spring Boot or similar frameworks should be used. External libraries or third-party APIs should be avoided as much as possible. All features and functionality should be implemented natively to maintain full control over the system. Only browser-native elements like scrollbars (CSS/HTML) may utilize non-Java approaches.
Modern Design: The platform should follow modern UI/UX principles, with responsive layouts and optimal performance.
Progressive Web App (PWA): Full PWA support, including offline capabilities, installability, and device responsiveness.
Scalability: The platform must be designed to handle a high number of users and roles efficiently.
Security: Robust security with encrypted communication, secure authentication mechanisms (e.g., OAuth2, JWT), and fine-grained role-based access control.
2. Role Management:
Support for up to 8 roles with a clear hierarchy and dynamic role-based access control.
Superadmin Dashboard:
Full control over the platform.
Manage Subadmins, Vendors, Managers, and Users.
Assign permissions and roles dynamically.
Access platform-wide analytics and logs.
Subadmin Dashboard:
Limited control under the Superadmin's jurisdiction.
Manage Sub-subadmins, Managers, and Employees.
Limited analytics and user management within an assigned scope.
Vendor Dashboard:
Franchise-specific operations management.
Create and manage Users (e.g., Franchise Owners, Managers, Employees).
Vendor-specific reporting and insights.
User Profiles:
Role-specific functionality with customizable dashboards.
Restricted access based on permissions.
3. Role-Specific User Creation:
Superadmin: Create Subadmins, Vendors, Managers, and Users.
Subadmin: Create Sub-subadmins, Managers, and Employees within their scope.
Vendor: Create Franchise Owners, Managers, and Employees.
4. Core Features:
Role-Based Access Control: Granular permissions tailored to each role.
Dashboards: Intuitive and role-specific dashboards for all user types.
User Management: CRUD operations for all roles and assignment of permissions.
Activity Logging: Comprehensive audit trails for all actions.
Responsive Design: Optimized for both desktop and mobile devices.
Integrated Multi-Vendor Payment System:
Allow users to upload funds using a multi-vendor PayPal integration.
Enable payments between users within the platform.
5. Technical Requirements:
Backend:
Built using Vaadin with plain Java components and modular design principles.
Avoid third-party frameworks like Spring Boot.
Frontend:
Exclusively developed with Vaadin for seamless integration.
No external UI frameworks (except CSS/HTML for browser-native elements).
Database:
Support for relational databases such as PostgreSQL/MySQL.
PWA Optimization:
Fully offline-capable and installable as a native-like app.
6. Additional Requirements: Standard Multi-Role SaaS Platform Template (Optional Milestone):
We require two separate projects, both of which share the same fundamental structure as a multi-role SaaS platform.
The first phase of development involves creating a template platform that fulfills the general requirements of both projects. This "template platform" will include:
User registration and login functionalities.
Listing functionalities for content or items.
Superadmin functionality to send email newsletters to all users, and Vendors to send newsletters to their own users.
Superadmin’s ability to create and manage Subadmins, Vendors, Users, and Managers, as well as assign permissions dynamically.
Vendors’ ability to create and manage Managers, Franchise Owners, and Employees, with their assigned permissions reflecting in their dashboards.
A multi-vendor PayPal payment system for uploading funds and facilitating internal platform transactions between users.
This template will serve as the foundation for both projects. Development for each project will branch off when further specialized features (e.g., ordering systems, chatbox functionality, etc.) are implemented.
To accommodate this, we propose an interim payment milestone upon completing the general-purpose SaaS platform template. This milestone ensures a fair division of work and payment before any project-specific customizations are added.
7. Team Requirements:
A team of at least 6 developers is necessary due to the complexity and short timeline:
2 Backend Developers: Focus on role management, security, and logic.
2 Frontend Developers: Ensure modern UI/UX with Vaadin and PWA optimization.
1 QA Engineer: Rigorous testing for scalability, security, and functionality.
8. Deadline:
The project must be delivered within a short timeframe, adhering to strict milestones to ensure timely completion.
1. General Requirements:
Technology Stack: The platform must be developed exclusively in plain Java using Vaadin. No Spring Boot or similar frameworks should be used. External libraries or third-party APIs should be avoided as much as possible. All features and functionality should be implemented natively to maintain full control over the system. Only browser-native elements like scrollbars (CSS/HTML) may utilize non-Java approaches.
Modern Design: The platform should follow modern UI/UX principles, with responsive layouts and optimal performance.
Progressive Web App (PWA): Full PWA support, including offline capabilities, installability, and device responsiveness.
Scalability: The platform must be designed to handle a high number of users and roles efficiently.
Security: Robust security with encrypted communication, secure authentication mechanisms (e.g., OAuth2, JWT), and fine-grained role-based access control.
2. Role Management:
Support for up to 8 roles with a clear hierarchy and dynamic role-based access control.
Superadmin Dashboard:
Full control over the platform.
Manage Subadmins, Vendors, Managers, and Users.
Assign permissions and roles dynamically.
Access platform-wide analytics and logs.
Subadmin Dashboard:
Limited control under the Superadmin's jurisdiction.
Manage Sub-subadmins, Managers, and Employees.
Limited analytics and user management within an assigned scope.
Vendor Dashboard:
Franchise-specific operations management.
Create and manage Users (e.g., Franchise Owners, Managers, Employees).
Vendor-specific reporting and insights.
User Profiles:
Role-specific functionality with customizable dashboards.
Restricted access based on permissions.
3. Role-Specific User Creation:
Superadmin: Create Subadmins, Vendors, Managers, and Users.
Subadmin: Create Sub-subadmins, Managers, and Employees within their scope.
Vendor: Create Franchise Owners, Managers, and Employees.
4. Core Features:
Role-Based Access Control: Granular permissions tailored to each role.
Dashboards: Intuitive and role-specific dashboards for all user types.
User Management: CRUD operations for all roles and assignment of permissions.
Activity Logging: Comprehensive audit trails for all actions.
Responsive Design: Optimized for both desktop and mobile devices.
Integrated Multi-Vendor Payment System:
Allow users to upload funds using a multi-vendor PayPal integration.
Enable payments between users within the platform.
5. Technical Requirements:
Backend:
Built using Vaadin with plain Java components and modular design principles.
Avoid third-party frameworks like Spring Boot.
Frontend:
Exclusively developed with Vaadin for seamless integration.
No external UI frameworks (except CSS/HTML for browser-native elements).
Database:
Support for relational databases such as PostgreSQL/MySQL.
PWA Optimization:
Fully offline-capable and installable as a native-like app.
6. Additional Requirements: Standard Multi-Role SaaS Platform Template (Optional Milestone):
We require two separate projects, both of which share the same fundamental structure as a multi-role SaaS platform.
The first phase of development involves creating a template platform that fulfills the general requirements of both projects. This "template platform" will include:
User registration and login functionalities.
Listing functionalities for content or items.
Superadmin functionality to send email newsletters to all users, and Vendors to send newsletters to their own users.
Superadmin’s ability to create and manage Subadmins, Vendors, Users, and Managers, as well as assign permissions dynamically.
Vendors’ ability to create and manage Managers, Franchise Owners, and Employees, with their assigned permissions reflecting in their dashboards.
A multi-vendor PayPal payment system for uploading funds and facilitating internal platform transactions between users.
This template will serve as the foundation for both projects. Development for each project will branch off when further specialized features (e.g., ordering systems, chatbox functionality, etc.) are implemented.
To accommodate this, we propose an interim payment milestone upon completing the general-purpose SaaS platform template. This milestone ensures a fair division of work and payment before any project-specific customizations are added.
7. Team Requirements:
A team of at least 6 developers is necessary due to the complexity and short timeline:
2 Backend Developers: Focus on role management, security, and logic.
2 Frontend Developers: Ensure modern UI/UX with Vaadin and PWA optimization.
1 QA Engineer: Rigorous testing for scalability, security, and functionality.
8. Deadline:
The project must be delivered within a short timeframe, adhering to strict milestones to ensure timely completion.
Related categories:
Business, Accounting, Human Resources & Legal
JavaScript
Python
Software Architecture
SaaS