https://github.com/ukcoderj/multitenantappointmentsmvc
Simple Multi-Tenant Booking application using MVC (C#)
https://github.com/ukcoderj/multitenantappointmentsmvc
csharp entity-framework mvc responsive-design
Last synced: 26 days ago
JSON representation
Simple Multi-Tenant Booking application using MVC (C#)
- Host: GitHub
- URL: https://github.com/ukcoderj/multitenantappointmentsmvc
- Owner: ukcoderj
- Created: 2017-11-12T17:08:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-11-12T18:30:37.000Z (over 7 years ago)
- Last Synced: 2025-04-12T04:10:01.051Z (26 days ago)
- Topics: csharp, entity-framework, mvc, responsive-design
- Language: C#
- Homepage:
- Size: 1.85 MB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Basic MVC Appointment Booking Application
Basic Multi-Tenant appointment booking system created to play with MVC, Authentication, Patterns and Entity Framework.
It's nowehere near complete and a bit hacky in parts, but there's also plenty of good stuff in there!
Uses .NET instead of .NET Core. When I started .NET Core was at 1.1 and the related version of Entity Framework didn't fit my needs (you couldn't make MVC models from EF in another project easily).
If I was making it now, I'd use .NET Core. The processes of getting data, using patterns and presenting to a UI would be very similar.
## Features
- Responsive (works on all sizes from phone to desktop).
- Authentication (tables moved to main DB to save money on hosting, but could be easily split out again)
- Create a user (professional)
- Add company details for that user
- Invite employees to that company (they may take appointments or not).- Employees can set availability
- Employees can book appointments for themselves
- Company owners can book appointments for employees.- Load tested with 1 million companies and over 1 million professionals.
- No unit tests. For examples of my unit testing, see my [UK Accident Statistics](https://github.com/HockeyJustin/UkAccidentStatistics/tree/master/src/AccidentProcessor.Tests) project.# To Run
- Clone Repro
- Open in VS2017. You will also need MS SQL Server installed on your machine.
- Change the database urls in `AppointmentsMVC` (web.config) and `AppointmentsDb` (app.config) projects.
- Ensure 'AppointmentsMVC' is the startup project and hit Run.If there's a problem, open the package manager console. It will state packages are missing. Click 'restore' to install them. Run again.
When the site starts:
- Click 'Register' in the top right hand corner to register a new user (single factor auth, so you can add anything in the email field).

- Enter Profile

- Enter Company Info

- Click on a date to enter an appointment and add one.


- Can now see the appointment in the list

- Also looks fine on iPhone.

- Go to Admin dropdown and select - Company Locations.

- Enter a location or set of locations and save (these aren't actually used anywhere in the system).

## To Add employees
- Go to the Admin dropdown and select 'Keys'. This will enable you to invite users.
- Click Add a professional to company.
- Copy the URL.

- LOG OUT!!!
- Now paste the URL into the browser.
- Select 'Yes'.
- Register as a new user (yes, this should be improved!)

- Enter professional details

- It knows your are in that company. They can now create appointments for themself.

- Click 'Appointments' and create an appointment as the employee for the ownwer to see.

## Company owner accessing employees' diary.
- Log out and log in as the owner.
- You can now see the employees' diary.

- You can now add appointments for the employee.
