To build an desktop application for enterprise, you usually deal with below difficulties:
1. Plug-in architecture
2. Standardize user interface.
4. Generate the Persistent layer
5. Generate user interface for inserting, updating, deletion and searching entities in database.
6. Change the theme of application. (optional)
7. Validate input information from user.
8. Shortcut accelerators for end user.
9. Creating reports easily
10. Auto update mechanism
TinyERP provides a comprehensive plug-in architecture support for developing enterprise .NET application and solves above issues.
It is built on top of NHibernate and Spring. NET. However, it also provides an open mechanism to integrate with other framework.
What is TinyERP?
TinyERP includes these components:
1. BambooGenTool: a tool that helps you to generate persistent later + simple UI form from Domain class in assembly.
2. Core framework: with all necessary controls, helper classes to help you develop Modules/Features in your ERP.
3. Business modules: modules that was developed by Core framework (CRM, Sale, Production management, Inventory). The number of modules may be extended in the future.
First, you need to have a look on the TinyERP by building and running it. Please follow below steps to build and run TinyERP.
1. Create an empty database in your MSSQL.
2. Download TinyERP from source code tab (unfortunately, I haven't released any stable version until now). However I am sure 90 % that you can build and run latest source code at any time without crashing/ no compilation error.
3. Open the solution. Go to TinyERP project, and open TinyERP/Config/spring.xml. Find below line:
<!--entry key="hibernate.hbm2ddl.auto" value="create"></entry-->
in section SessionFactory config element. Uncomment this line to: <entry key="hibernate.hbm2ddl.auto" value="create"></entry> . This configuration helps us to generate schema in database automatically.
4. Open the app.config file in TinyERP project and change settings for your database.
5. Run TinyERP project. Use user: admin/password: admin as your administrator account. After login, you can create other users to test.
6. Last step: if you want to keep your input data, you should prevent re-new database schema by uncommenting the line in step 3 in the spring.xml config at next run times.
Build a module
Validate input information