Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InoSpace

InoSpace is an ASP.NET Core MVC web application for managing rentable office spaces inside an innovation center. The project combines a public room-browsing experience with an authenticated admin area for requests, rooms, tenants, and contracts.

.NET ASP.NET Core Entity Framework SQL Server

Overview

The application presents available offices and meeting rooms on interactive floor plans. Visitors can choose a space, submit a rental request, and receive email confirmation when SMTP is configured. Administrators can review incoming requests, approve or reject them, manage room statuses, track tenants, and export contract data.

Screenshots

Public Landing Page

InoSpace landing page

Interactive Floor Plans

Interactive floor plan and booking form

Admin Dashboard

Admin dashboard

Features

  • Public landing page with availability statistics and featured spaces
  • Interactive SVG floor plans with selectable rooms
  • Booking form with validation and request tracking
  • Admin authentication with seeded demo credentials
  • Admin dashboard with occupancy, revenue, pending requests, and expiring contracts
  • Room, tenant, request, and contract management
  • CSV export for contracts
  • Email notification service with safe local fallback
  • Multilingual UI support for English, Russian, and Romanian
  • EF Core migrations and automatic LocalDB seeding

Tech Stack

  • ASP.NET Core MVC
  • Entity Framework Core
  • SQL Server LocalDB
  • Cookie authentication
  • Razor Views
  • Bootstrap, custom CSS, and optional Tailwind CLI build step
  • MailKit for SMTP email delivery

Project Structure

InoSpace/
+-- Controllers/      MVC controllers for public and admin workflows
+-- Data/             EF Core DbContext, migrations support, demo seeding
+-- Migrations/       Database schema migrations
+-- Models/           Domain entities: rooms, floors, tenants, contracts, requests
+-- Services/         Email, translation, password hashing, DB maintenance
+-- ViewModels/       View-specific models
+-- Views/            Razor pages and layouts
+-- Styles/           Source stylesheet for optional Tailwind compilation
+-- wwwroot/          Static assets, CSS, JS, images, and vendor libraries

Getting Started

Prerequisites

  • .NET SDK 10.0 or newer
  • SQL Server LocalDB
  • Visual Studio, Visual Studio Code, or another .NET-capable IDE

Run Locally

git clone https://github.com/your-username/inospace.git
cd inospace
dotnet restore InoSpace/InoSpace.csproj
dotnet run --project InoSpace/InoSpace.csproj

Open the HTTPS URL printed in the terminal.

On first startup, the app applies EF Core migrations and seeds demo data automatically.

Demo Admin Login

URL: /admin/login
Username: admin
Password: Admin123!

For a real deployment, change the seeded admin password and move credentials to a secure secret store.

Configuration

The default database connection uses SQL Server LocalDB:

"DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=InoSpaceDb;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True"

Email is disabled by default in the public repository. To configure SMTP, copy the values from InoSpace/appsettings.Example.json into user secrets or a local-only settings file.

Recommended local setup:

dotnet user-secrets init --project InoSpace/InoSpace.csproj
dotnet user-secrets set "Email:Enabled" "true" --project InoSpace/InoSpace.csproj
dotnet user-secrets set "Email:SmtpHost" "smtp.gmail.com" --project InoSpace/InoSpace.csproj
dotnet user-secrets set "Email:Username" "your-email@example.com" --project InoSpace/InoSpace.csproj
dotnet user-secrets set "Email:Password" "your-app-password" --project InoSpace/InoSpace.csproj

Database

The database is modeled with EF Core and includes:

  • Floors
  • Rooms
  • Tenants
  • RentalRequests
  • Contracts
  • AdminUsers

The seed data creates two floors, realistic rentable rooms, tenants, active contracts, pending rental requests, and one admin account.

Notes

  • bin/, obj/, .vs/, generated email files, local databases, and secrets are ignored.
  • wwwroot/css/app.css is committed, so the app can run even without the Tailwind standalone executable.
  • The optional Tailwind build target runs only if InoSpace/tools/tailwindcss.exe exists locally.

Author

Created by Ilie Nedelcu as a practice project for managing office rental spaces.

About

ASP.NET Core MVC office rental management system with interactive floor plans, admin dashboard, EF Core, SQL Server LocalDB and multilingual UI.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages