Purpose
- This is First version of Resource Management Application used for ASP.NET MVC4 webapi and Backbone integration purposes.
- This is a good code base of ASP.NET MVC4 webapi in restful architecture, since it covers many areas and development techniques.
- We are using it as a personal and official resource management tool for our resource management activity, you may use it as well for this or any other purpose (it is very easy to customize to fit your needs)
- The solution has been created with Visual Studio 2012.
Technology
- This application used ASP.NET MVC4 webapi from scratch. and uses these cool features like:
- Code First
-
Entity Framework and LINQ
- Facade pattern
-
Code First Membership Provider pointing to your own database users table.
-
Backbonejs which gives good structure to the application in client side code.
-
Requirejs used it for AMD API for all JavaScript modules.
-
Dust templeting engine for better rendering experience.
-
Twitter bootstrap to see a awesome UI.
- Every major development on this Resource Management app has been tagged (1.02)
- You can download each tag (starting with 1.0), check progress and move to the next when you understood everything that has been done.
- Follow the change log (tag history) and enjoy!
Features
- Real Time app
- Resource size limit: 4GB
- Store Resource asynchronously
- Search By Title,Tag, Description
- List (Tag Cloud) Sort by Name, Date, User rating and Download
- Add to Favorite
-
Add to Basket for bulk download.
- Role by Permission
- Real Time User Permission
- Download History
- Auto Clean Bulk Download Basket
- Auto Backup Database
- Auto Backup Resources
Installing
Altering connectionStrings section
Based on convention, EF will look for a connection string named as the DBContext (in this case "FileManagerDbContext") in webconfig and appconfig, and will use it, so feel free to set the data provider you want:
<!--
By default (convention over configuration, the connection string with the same name as your DBContext will be used)
You can select then wherever you will use SQL CE, SQL Server Express Edition, etc, here.
-->
<add name="FileManagerDbContext" connectionString="Data Source=|DataDirectory|ResourceManager.sdf" providerName="System.Data.SqlServerCe.4.0" />
<!--
<add name="FileManagerDbContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=ResourceManager; Integrated Security=True; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
-->
Quickshot
Create Resource

Search

List (Cloud Tag)

Favourite

Basket

Category

User

EditRole

User Guide
Login
* The defult UserName: admin@yourdomain.com and Password: 123456
Resource

- Proper Title, Description , Tag will help you to search a resource on demand of you.
- The Rank is treated as Uploader Rank. (User Rank will be available Resource Details Under Search menu.)
- If there have any previous tag in your perspective, the tag textbox will auto suggest you which are comma separeted.
- Resource thumbnail must be greater than 150 * 150 to see good look.
Search
Search By Text

- You can search by Title, Description also with tag name.
- Empty search text box will show all resource as result.

- You can sort by User Rank and Download Count.
- Add to Favourite by clicking the star icon (mention by 1).
- Add to Dowload Basket by clicking the plus sign icon(mention by 2).
- Dowload by clicking the download icon (mention by 3).
- Click on thumb to see resource details.
Resource Deatils

- User can see existing rate , also rate here by clicking star.
- Can edit and delete resource as per permission.
List with Cloud Tag

- User can see resource tag wise.
- Resource can be sort by Name,Date, User Rank and Download.
Favourite
- Can remove and download from favourite.(Screenshot given in quickshot.)
Dowload Basket
- It's a favourite thing which give you bulk download functionality.(Screenshot given in quickshot.)
Category

- You can edit category name and parent.
- Category delete have some terrible functionality which delete all resource under deleted category, rather than delete edit is much more flexible.
Role
- Role Name is not editable, you can edit permisson.(Screenshot given in quickshot.)
- Role Write is be treat as add, update permisson of perspective item.
User
- User email is required due to password recovery.(Screenshot given in quickshot.)
- Admin can change user password from user page.
- User role will be editable which will affect in real time.
Download History
- Download history show by resource and user base.
- See download details by clicking details icon.
Maintenance
Application smtp setting
-
Add smtp mail setting from web config for forget password functionality.
<system.net>
<mailSettings>
<smtp from="bsfilemanager@gmail.com" deliveryMethod="Network">
<network host="smtp.gmail.com" port="25" userName="bsfilemanager@gmail.com" password="" enableSsl="true" />
</smtp>
</mailSettings>
Clean download busket
-
To Enable Download Clean change app setting "EnableDownloadClean" key value to "true" also must be set related two keys.
<appSettings>
<add key="EnableDownloadClean" value="true" />
<add key="DownloadCleanIntervalHours" value="2" />
<add key="MaxDowloadMinute" value="60" />
</appSettings>
Backup
Database Backup
- To Enable Databae Backup need to change EnableDbBackup key value to "true" also must be set related two keys from app setting.
- You must be set connectionstring with UserName and Password.
-
Database backup is now only local share folder in a domain which have read write permission for all. You need to add a schdule task to move backup file location
in your backup server.
<connectionStrings>
<add name="FileManagerDbContext" connectionString="Data Source=.\sqlexpress;Initial Catalog=FileManager;Persist Security Info=True;User ID=admin;Password=000" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="EnableDbBackup" value="true" />
<add key="RemoteDbBeckupPC" value="\\BSNAS" />
<add key="DbBeckupFolderName" value="\backup\Software1\temp" />
</appSettings>
Resource Backup
- To Enable Backup need to change EnableResourceBackup key value to "true" also must be set related two keys from app setting.
-
If you need authentication for remote resource backup server you can add RemoteResourceBeckupPCUserName key as UserName and RemoteResourceBeckupPCPassword key as Password.
<appSettings>
<add key="EnableResourceBackup" value="True" />
<add key="RemoteResourceBeckupPC" value="\\BSNAS" />
<add key="ResouceBeckupFolderName" value="\backup\Software1\temp" />
<add key="RemoteResourceBeckupPCUserName" value="" />
<add key="RemoteResourceBeckupPCPassword" value="" />
</appSettings>
Change Log:
1.02
* Changed Home Url mapping.
* Handle few unhandle exception.
* Fix Login page css issue.
* Fix requirejs loading timout issue.
1.01
* Fix UI Issues.
1.00
* Initial release of Digital Resource Manager.