This project is read-only.

Set up your development environment

The following components are required to work with and compile Smeedee:
.

What you can expect to find in the solution

Smeedee's Visual Studio Solution is segmented into six parts:
BuildScripts
  • Scripts for building the application and creating the installation file
Client
  • Contains all the modules described below and is organized according to Prism, thus containing the bootstrapper for resolving the modules and adding the views. Furthermore, it also contains the shell, shellpresenter, slide, styles and color palette
Widgets
All the widgets enforces the Model View ViewModel(MVVM) pattern
  • SourceControl
    • Contains Controller, View, ViewModel and module for the "Commit Heroes"-, "Latest Commits" - and "Commit Statistics"-slide
  • Project Management
    • Contains Controller, View, ViewModel and module for the "Working Days Left"-slide
  • ContinousIntegration
    • Contains Controller, View, ViewModel and module for the "Continous Integration"-slide and the "CINotifier" (traffic lights), that both displays the build status of the different projects
  • General
    • Contains Controller, View, ViewModel and module for the "Loading Animation"
  • DeveloperInfo
    • Contains a view that was supposed to be displayed in the "Latest Commits"- and "Commit Heroes"-slide to display info such as username, name, email and an image of each developer
  • BurndownChart
    • Contains Controller, View, ViewModel and module for the "Burndown Chart"-slide displaying the progression for the current iteration based on the project management domain model
  • TrayBar
    • Contains Controller, View, ViewModel and module for the Traybar - a GUI-element that may contain several views displayed on the bar on the bottom of the screen which illustrates/describes project status. At the moment there are two elements on this bar, that is, working days left and traffic lights indicating status of the build. Green light = build successful, Yellow light = building, Red light = broken build
  • Admin
    • Contains Controller, View, ViewModel and module for the "Admin"-interface for adding managing users in the system
Common
  • Contains common framework across the application such as settings and configuration
DomainModel
  • Contains the domain concepts from which the widgets base their logic)
Plugin
  • Handles the saving of changes to elements derived from the DomainModel to the database and for retrieving information from the database
Server
  • Contains serialization behavior and web services for retrieving information (changesets (Source Control), projects and builds (Continuous Integration), projects, iterations, tasks, workEffortHistoryItems (Project Management)) from the database

Most "modules" consists of three projects;
  • 1 project for production code,
  • 1 silverlight project for the view and
  • 1 project with tests for the production code

Testing

We are doing Test Driven Development (TDD) and strongly encourage you to do the same as this will help make the source code easier to maintain and contribute to minimize technical debt.

We are also employing Tiny BDD - a Behaviour Driven Development (BDD) DSL for C#, which also is Test Runner agnostic and lets you do BDD syntax while writing tests.

Last edited Nov 20, 2009 at 9:40 AM by tuxbear, version 7

Comments

No comments yet.