Skip to content

Project by Data Modeling and Databases couse in Innopolis University

Notifications You must be signed in to change notification settings

alikhil/DMD_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Publication Management System

Specification

Demo Video

image

Quick start

What you need?

  • Visual Studio 2013 or newer
  • PostgreSQL 9.3 or newer

Configure database

There are must be database named 'PMS' with owner 'postgres' whose password 'postgres'

  1. Download data.sql and setup.sql

  2. Execute psql -U postgres -d PMS -a -f setup.sql

  3. Execute psql -U postgres -d PMS -a -f data.sql

Run app

Run throught Visual Studio
  1. Open project solution Project_DMD.sln
  2. Build project(it should install needed Nuget packages)
  3. Start app
Run on local II Server(Advanced)

Look tutorial here

System Design and Architecture

Firstly, we implemented interfaces for working with fake data which stores in memory and uses LINQ for manipulation with data. Using this ‘fake’ interfaces we could develop front-end despite of that we don’t work with db. In parallel with front-end we implemented interfaces for working with ‘true’ data in database.

Controllers handle requests and calls methods of IDataRepository and IUserRepository interfaces. For developing front-end we used fake repositories(FakeDataRepository, FakeAppUserRepository) which works with data in CPU and uses LINQ to operate with data. In same time we were implementing true repositories(DataRepository, AppUserRepository) they call QueryExecutor which executes hand-written and auto generated sql queries. For simple models we didn't write queries, we developed AutoSqlGenerator for that case.

Application architecture

About

Project by Data Modeling and Databases couse in Innopolis University

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages