Previous tutorials in this series:
  1. Install Google App Engine Java SDK and Google Plugin for Eclipse
The Slim3 is open source framework. Its  concept is " Simple" and "Less is more" means simplicity and clarity lead to good design. There are 3 main features of Slim3:
  •  Fast spin-up
  • Hot reloading
  • Type safe query
We can  create a new slim3 project manually, but for beginner, I think it's better for you get this framework automatically through Eclipse's plugin supported by Slim3 Official team.

1. Installing Slim3 plugin in Eclipse

  - Using Software update feature ( Help --> Install new software ) to installing Slim3 plugin.The installation locations are as follows:
http://slim3.googlecode.com/svn/updates/
After finishing slim3 plugin installation, let's create a blank project.
You can follow this tutorial from Slim3 official site to be acquainted with Slim3 framework. But for beginner it may be too fast, so I tried to explain more details.  If you choose to follow the above tutorial from slim3 official site, you can continue that app by .....

2.  Create a blank project and do some configuration.

- To create new project based on Slim3 framework, in the File menu, select New > Project... > Slim3 > Slim3 Project.



- Let's define your first project's name and root package's name . 

You can give any name you want. Because the  first tutorial project introducing slim3, we will develop a system that have the basic function like tweet function in Twitter, so I set the project's name and package's name as below. You can give any name you want, but for following the tutorial easier, you can set the same name.


 Your first project will be like that 
Please take a look at /war/WEB-INF/web.xml . At the top of file, you will see the defined code for root package:
 
    <context-param>
        <param-name>slim3.rootPackage</param-name>
        <param-value>root</param-value>
    </context-param>
and at the rest of web.xml file, there are many many of configuration that we'll dicuss later. Don't care about them.
Well, we can get into coding twitterClone application now. But hold on, we need to configure some things first

- Let's set Eclipse for testing (if you don't want to do JUnit Test, you can forget this configuration )

- In the Window menu, select Preferences > Java > Code Style > Organize Imports. Set 1 to" Number of static imports needed for .*". (for MAC OS , the Preferences menu in the Eclipse menu )


- In the Window menu, select Preferences > Java > Editor > Content Assist > Favorites. Click "New Type" button and add org.hamcrest.CoreMatchers, org.junit.Assert, org.junit.matchers.JUnitMatchers.(for MAC OS , the Preferences menu in the Eclipse menu )

- Let's set Refresh using native hooks or polling in Eclipse

  If this option is turned on then the workspace resources will be synchronized with their corresponding resources in the file system automatically using native refresh providers (on Windows) or a polling mechanism.
  Note: This can potentially be a lengthy operation depending on the number of resources you have in your workspace.

  To set this option for Eclipse: select Preferences > General > Workspace . Click on Refresh using native hooks or polling checkbox


 Slim3 supports HOT reloading, so you can continue to develop this tutorial without restarting your application.

3. Running  the Project 

The App Engine SDK includes a web server application you can use to test your application. The server simulates the App Engine environment and services, including sandbox restrictions, the datastore, and the services.
 - Click on Run As menu --> choose Run as Web Application
Take a look at Eclipse console. You can see the following information:
  • Slim3 Hot reloading: true --> That means you can continue to develop this tutorial without        restarting your application.
  • Server default is running at http://localhost:8888/
  • The admin console is running at http://localhost:8888/_ah/admin 

 Let's take a look at the Admin Console. You will use this development console later for testing and managing GAE Datastore (database) , services such as : Cache, Full Text search, Task queues, etc.