The entire source code repository for http://devinmajor.com, generic-ized so you can set yourself up with your own boilerplate copy!
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live server.
What things you need to install the software and how to install them. If you're a developer you probably have all these things already... just make sure!
- A decent PC / server with a Windows OS installed
- Visual Studio (2012 or Higher)
- An SQL Server / Express instance, as well as SQL Server Management Studio
- OpenHardwareMonitor (A third-party program, required to make hardware stats/charts function!)
A step by step series of examples that tell you how to get a development environment running, so you can fiddle with the code to your liking before publishing to your server! Make sure to have the solution open in Visual Studio, as well as having a running instance of SQL Server / Express. It will also be helpful to have SSMS (SQL Server Management Studio) open as well, in case of any data issues.
First, you'll need to include a reference to the DLL in your installation of the OpenHardwareMonitor program. Remove any broken/missing references to this library in the solution, then follow the steps outlined in the images below...
Next, you'll need to create and publish a new database for the application to store and retrieve data in. You can do this by right clicking the MyDatabase project, and following the steps outlined in the images below...
You'll notice there's a field for "UserRole". This is used to give read/write/edit/special permissions to the Windows entity managing the database connection.
This is the user role that is typically used:
NT AUTHORITY\SYSTEM
Once this is done, feel free to Run/Start the project in the IDE! You should have a localhost instance starting up, and when it loads, you'll be presented with the following FirstRun page:
All you have to do is fill out the form, and you'll get an email confirming your account details. Once you get the email, you can log in!
When you log in as an administrator, you'll notice you have a Settings page. There are lots of options, and you have near total control over the entire website from this page! If you have any questions or are confused about one of the settings here or how they work, please don't hesitate to get in touch with me. I'd love to explain!
Here's some screenshots of the main pages in action, immediately after deploying! Impressive, is it not? ;)
Unfortunately I haven't had time to write tests for this application as of yet (Yes I already know how important they are and how I should write them first)
Just follow the normal deployment process for an ASP.NET application on a Windows Server. The MSDN has better instructions than I can possibly include here, so I'll direct you to the article I used! Here's How to Deploy the Application
- Visual Studio 2017 - The IDE that was used
- SQL Server Management Studio (SSMS) - The SQL database manager that was used
- OpenHardwareMonitor - Used to monitor your hardware, in an open source fashion ;)
- JQuery - JavaScript framework used
- Bootstrap - CSS framework used
- SignalR - Real-time API web framework used
Please feel free to contribute to this project. It's completely open to anyone, though if you do want to contribute, I ask that you contact me either through GitHub, or through the email portal of My Website. Also, please use the Development branch to branch/fork from, and make pull requests for. I am adhering to GitFlow (for the most part) and refraining from using the master branch.
We use Git as well as SourceTree for versioning. For the available versions of this application, see the list of branches near the top of this very page!
- Devin Major (me) - Everything - My Website
This project is licensed under the MIT License - see the LICENSE.md file for details
- Hat tip to anyone whose code was used in part
- Inspiration and occasional help from my friends and colleages
- Special thanks to Patrick Manseau for being so patient through this long tedious process