This is a full-stack prototype of an Airbnb-inspired system, developed as part of the CPSC 5200 Software Architecture and Design course. The project was built over a two-week sprint and demonstrates key architectural concepts such as:
- RESTful API with authentication and role-based access control (
rest
branch) - Backend built using .NET (C#)
- Frontend using Razor Pages
- PostgreSQL as the database
- Containerized with Docker Compose
⚠️ Note: This is a short-term prototype. Some features such as enterprise-level user auth (via Entra ID) or advanced image storage (like Azure Blob Storage) are not implemented due to time constraints.
Ensure you have the following installed before running the project:
- .NET SDK
- Docker
- PostgreSQL (Only if not using Docker)
git clone https://github.com/your-username/Airbnb-System-Prototype.git cd Airbnb-System-Prototype
Make sure Docker is running, then execute:
docker-compose up -d
This will start all required containers, including PostgreSQL.
- Open a terminal and navigate to the backend directory: cd backend
- Run the backend service: dotnet build dotnet run
- Open another terminal and navigate to the frontend directory: cd frontend
- Run the Razor frontend application: dotnet build dotnet run
- Click on the link for the localhost to open the project
The API implementation is in the rest
branch and includes:
- Swagger documentation for easy API exploration
- Role-based authentication and login requirement functionalities
To access Swagger UI:
http://localhost:5013/swagger/index.html
To stop all running containers:
docker-compose down