Git Product home page Git Product logo

hostel's Introduction

Hostel(WIP - Will be completed in due course due to private projects)

Smart Traditional Single Rooms Hostel using Distributed Domain-Driven Design and Event-Sourcing

Domain Description

The Owner owns a Hostel with three floors(ground, first and second) and the floors with 20-23 rooms, 2-3 community toilets, 2 community bathrooms and a kitchen each!

Problem

The Owner currently is facing these problems: Water scarcity, Poor Hygienity, Noise pollution, embarrassing septic tank spillage, poor rent followup and poor or no tenant data management!

Solution

Various types of IoT sensors will be installed as follows: Sonic Sensor for Water and Septic Tank, Dirt and Smell detection for Toilets, Bathrooms and Kitchens and Noise detection Sensor installed at strategic locations!

Hostel will help this Owner monitor readings coming from the sensors and automate rent expiration notification. Birthday notification will be a bonus tool to add!

The Owner also desires to know which one of the toilets are used the most, so we will be tracking flush!

Tool-Set

Akka.NET
MassTransit
SignalR
SQL
ML.NET
Quartz.NET
Xamarin.Forms
Asp.Net Core
IdentityServer4
xca
Angular

Home Preview(https://hostel.com)

hostel's People

Contributors

dependabot[bot] avatar eaba avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

hostel's Issues

HostelActorSystem/system/akka.persistence.journal.sql-server Instance failure

"Payload": {
    "System": "HostelActorSystem",
    "Log": "[ERROR][5/11/2019 12:20:12][Thread 0005][akka://HostelActorSystem/system/akka.persistence.journal.sql-server] 
	Instance failure.\r\nCause: [akka://HostelActorSystem/system/akka.persistence.journal.sql-server#1096997092]: 
	Akka.Actor.ActorInitializationException: Exception during creation ---> System.InvalidOperationException: 
	Instance failure.\r\n   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, 
	UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, 
	DbConnectionInternal& connection)\r\n   at System.Data.ProviderBase.DbConnectionPool.WaitForPendingOpen()\r\n   a
	t System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, 
	TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)\r\n   
	at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, 
	TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)\r\n   
	at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, 
	DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)\r\n--- 
	End of stack trace from previous location where exception was thrown ---\r\n   
	at Akka.Persistence.Sql.Common.Snapshot.SqlSnapshotStore.Initialize()\r\n   
	at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)\r\n   
	at System.Data.SqlClient.SqlConnection.Open()\r\n   
	at Akka.Persistence.Sql.Common.Journal.BatchingSqlJournal`2.PreStart()\r\n   
	at Akka.Actor.ActorCell.UseThreadContext(Action action)\r\n   
	at Akka.Actor.ActorCell.Create(Exception failure)\r\n   
	--- End of inner exception stack trace ---\r\n   at Akka.Actor.ActorCell.Create(Exception failure)\r\n   
	at Akka.Actor.ActorCell.SysMsgInvokeAll(EarliestFirstSystemMessageList messages, Int32 currentState)",
    "Level": "ErrorLevel"
  }
}

System.InvalidOperationException' occurred in System.Data.SqlClient.dll

System.InvalidOperationException' occurred in System.Data.SqlClient.dll but was not handled in user codeTimeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached

Owner and Tenant Actors

Two thoughts running through my mind: should I create OwnerActor and TenantActor and make them a child of HostelManagerActor and RoomActor respectively or leave it just the way it is currently?

Entity Identifier

Because of the purpose of Event Sourcing is to deterministically recreate the current state of an object by replaying the changes that happened to it, am thinking generating Identifier automatically, like NewId() or Guid.NewGuid is a bad idea!

What do you think about this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.