[Pet Shop Reloaded] The Application

The Pet Shop Reloaded is a sample e-commerce web application. Users will be able to browse a nice set of animals by category, add them to their cart or wish list, and finish their purchase by log in or register to the application.

Functional context

Users first arrive to the home page where are displayed some random animals to discover.

Home page

Home Page

On the top of the page users can perform actions like:

  • See their cart.
  • Register.
  • Log in/Log off (if connected).
  • Wish list (if connected).
  • Account information (if connected).
  • Search animals by keywords.





Users can browse animals by category.




When selecting an animal, are displayed all the different kinds of this animal with some details like the quantity remaining and the price.
Users can then add the desired animal to their cart or to their wish list (if logged in).

Animal detail

Animal Details


The cart page contains the list of animals to purchase by quantity.

The cart

The Cart


When the user checks out, he has to confirm his billing and shipping addresses, provide his payment and confirm his order.
If the user is logged in, he can add animals to his wish list and manage it.

The Wish List

The Wish List


Users can manage at any time their account information.

Account Management

Account Management


Technical context

The SoftFluent Pet Shop Reloaded will be developed as a web solution using:

  • .NET 4.5.
  • C# 5.
  • ASP .NET MVC 4.
  • SQL Server 2008 R2 (the 2012 version can be used as well).
  • Visual Studio 2012.


The CodeFluent version

The CodeFluent Entities PetShop version will use the CodeFluent build 61214.707.
We will build the CodeFluent Entities model using the CodeFluent Entities Designer. This means that all the aspects related to the model will be implemented within the CodeFluent Model Designer, like:

  • Data validation and custom business rules.
  • Custom data access methods (stored procedures).
  • Custom and extra attributes.
  • Instances (data used to fill the database, useful to start with an application containing data).

There will be 2 producers to generate the Business Object Model layer (BOM) and the Persistence layer:

  • The BOM producer will generate our .NET/C# classes, these classes contain all the logic that we have defined in our model (Validation, Rules, CRUD methods, custom data access methods…).
  • The SQL Server producer will produce (and execute) SQL scripts to generate or update our database. CodeFluent Entities provides a “SQL diff engine” smart enough to update our database schema without losing our data.

On the MVC application we will directly use the BOM to manipulate and bind our models.

The Entity Framework version

The Entity Framework PetShop application will be built with the Entity Framework version 5 provided out-of-the-box with Visual Studio 2012.
We will use the Model First approach to design our model and we are going to use the built in templates (.tt templates) to generate our .NET/C# classes.
For validation and custom rules we may need to do some extra work, this will be explained in a blog post dedicated to Validation and Rules.
The persistence layer will be generated using the SQL code generated by the Entity Framework.
We will use essentially LINQ queries to retrieve data and the generated model will be used directly on the MVC application.

On the next blog post we are going to show how to start with CodeFluent Entities and Entity Framework (installation) before starting using the model designers.
Remember that you can find all the blog posts related to the Pet Shop Reloaded by SoftFluent under the tag “Pet Shop Reloaded“. Stay tuned. 🙂
The SoftFluent Team

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s