After a bit of a hiatus, I’ve returned to working on my internal project:
- Worrying about the structure of the project and which directory things belong in.
- Setup for a dev machine, in this case powershell scripts to create a database and some initial base data. I managed to avoid putting together deployment tools, but I have ended up with scripts to create the database.
- Implementing authentication by hand rather than just using something off the shelf. This was truly a bad idea, but by the time I’d realised it, I was already too far down the rabbit hole.
- Using a more secure hashing algorithm. While it was interesting to use BCrypt, it wasn’t really necessary.
Future plans impact structure now
So the Sql tables look like this:
- status (status_id, message, date, user_id…)
- status_view (status_id, date…)
- status_like (status_id, date…)
Structure
- DataInterfaces – models and interfaces for accessing any data
- DataSql – the sql implementation of the interfaces in DataInterfaces
- SiteLogic – the business logic for the application, all code here should be completely unit testable
- SiteLogic.NUnit – unit tests for the library
- Site – the MVC site
- Site.NUnit – the unit tests for the MVC site.




