Skip to content

Pipi144/QuizzBE

Repository files navigation

QuizzBE - Quiz Backend Project

Welcome to QuizzBE, the backend application powering a dynamic and secure quiz platform. This project demonstrates my expertise in backend development with ASP.NET Core and highlights my ability to design scalable, efficient, and secure web applications.


Key Features

Note: The application is currently hosted on a free-tier Azure App Service plan. As a result, you may experience slower response times due to resource limitations. This setup demonstrates cost-effective deployment strategies for small-scale applications.

  • User Account Management: Secure user authentication and account handling.
  • Role-Based Authorization: Fine-grained access control, allowing only admins to manage sensitive operations like user editing and quiz management.
  • CRUD for Questions: Create, read, update, and delete quiz questions seamlessly.
  • CRUD for Quizzes: Comprehensive quiz management, including adding and deleting quizzes.
  • Take Quiz and Scoring: Enables users to take quizzes and receive scores upon completion.
  • Integration with Auth0: Secure and robust authentication implemented using Auth0 for managing user sessions and identity.

Technologies Used

  • ASP.NET Core: The backend framework used for building a high-performance web API.
  • Entity Framework Core: For managing database interactions with ease.
  • PostgreSQL: A robust and scalable database solution.
  • Auth0: For secure user authentication and session management.
  • Azure App Service: Scalable and reliable backend hosting.

Why This Project Matters to Me

As a developer who is relatively new to .NET Core, I took on this project as a challenge to demonstrate my ability to learn and apply new technologies effectively. Here are some key aspects:

  • Self-Motivated Learning: I independently learned ASP.NET Core and integrated advanced features like Auth0 authentication and role-based access control, showcasing my ability to adapt and grow.
  • 3-Tier Architecture: Designed the application using a clean 3-tier architecture (Presentation, Business Logic, Data Access layers) to ensure maintainability, scalability, and separation of concerns.
  • Attention to Detail: Designed and implemented secure and scalable solutions, ensuring data integrity and protection.
  • End-to-End Ownership: From database design using PostgreSQL to deployment on Azure App Service, I managed all aspects of the backend development lifecycle.
  • Practical Experience: This project allowed me to simulate real-world backend scenarios, including secure user authentication, CRUD operations, and efficient API design, making me confident in handling similar challenges professionally.

This project serves as a testament to my dedication, quick learning capabilities, and ability to deliver quality solutions even as I step into new technical domains.


Note: Sensitive information such as database connection strings and Auth0 credentials are not included in this repository. These values are securely stored using Azure App Service Application Settings for production environments. This ensures secure and scalable management of secrets without hardcoding them in the source code.

Getting Started

Prerequisites

  • Visual Studio: For backend development.
  • PostgreSQL: Database setup for local or production environments.
  • Azure CLI: For deploying the backend to Azure App Service.

Running Locally

  1. Clone the repository:
    git clone https://github.com/Pipi144/QuizzBE.git
    cd QuizzBE

Configure the appsettings.json:

  1. Update the ConnectionStrings section with your PostgreSQL database connection string. Add your Auth0 credentials (domain, client ID, secret) under Auth0 settings. Audience: https://localhost:7285/

Connect with me

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages