I've been asked to develop a .NET web application with the following requirements and features:
- Moderate software license expenses
- .NET Web Application
- Document storage (with change history, although a complete CMS is not needed)
- Complex data model
- Extensible and groupable object attributes
- Private/public field visibility
- Non-trivial relationships between database tables
- Custom alert configuration (screen and e-mail notifications) about approaching due dates, missing documentation, etc.
- Resource access control & user management (roles and groups)
- High user volume (several thousands of users)
- Many complex and dynamic forms
- Search engine
- Statistical reporting
- Bulk data & metadata upload and download
- Simple data migration
- REST API for external integration
- Multilanguage
- Full-featured mobile version (for tablets and smartphones)
- Corporate look and feel
These are the options I have considered:
- SharePoint Foundation 2013 + Custom Web Parts + Custom DB + Document Libraries
- Sense/Net + Custom Web Parts + Custom DB + Document Libraries
- Custom ASP.NET Web Application
What approach would you recommend? Also, can you please make a recommendation on the following points?
- Server characteristics and topology
- Application architecture
- Scalability
- Search capabilities
- Reporting tools
- Persistence framework
- Document storage (MS Office)
- Mobility