Skip to content

MrD4rkne/QueflityMVC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Queflity

Queflity is a versatile application designed for creating and managing a list of services. It allows users to generate items and kits, each composed of a variety of components. With Queflity, you can efficiently manage these components, categorize them, specify ingredients, and control access through a simple yet powerful permissions module.

Features

  • Items: Create and manage service entities with names, prices, and images.
  • Kits: Build kits from items, specifying quantities and pieces, all presented with images.
  • Categories: Organize items using simple tags for better navigation.
  • Ingredients: Compile lists of non-purchasable components (e.g., food ingredients) used in crafting items for enhanced transparency.
  • Admin Panel: Access a comprehensive interface to manage user roles, permissions, and the ability to enable/disable users.
  • OAuth: Support for Google OAuth 2.0 login.
  • Dashboard: Main view displaying detailed information about products.
  • Messaging Module: Users can initiate a conversation about a product, creating a live chat session, with a copy of the message sent to their email.

Tech Stack

  • .NET MVC: Adheres to the Model-View-Controller (MVC) pattern, ensuring structured development and separation of concerns.
  • Docker: Utilized as the runtime environment, ensuring consistency and portability across different platforms.
  • Onion Architecture: Employs a repository-service pattern, enhancing maintainability and testability.
  • FluentValidation: Used for both frontend and backend validation, simplifying the process and ensuring data integrity.
  • Bogus: Streamlines test data generation during development, aiding efficient testing and debugging.
  • EF Core: Entity Framework Core is used as the Object-Relational Mapping (ORM) tool, simplifying database interaction.
  • Custom Pagination: A reusable pagination module featuring a factory and partial view, providing enhanced usability and flexibility across the application.
  • SignalR: Facilitates real-time messaging between users, enhancing the user experience.
  • Quartz & Mailkit: Facilitates sending emails via SMTP and managing one-off jobs.

Installation

Installation via IDE

  1. Clone the repository to your desktop.
  2. Open the solution in your preferred IDE.
  3. Install Docker.
  4. Configure the app (see: Configuration).
  5. Launch the app:
  • Ensure that ports 5000 and 5001 are not used by any other process.
  • Debug mode will seed the database with initial data.
  1. Navigate to the app in your browser:
  1. Default admin user credentials:
  • Login: admin@queflity.mvc
  • Password: Password1#
  • Note: This account cannot be removed but the password can be changed.

Screenshots

Home page Home page - what clients see when then first open the app.

Ask a question View to ask about product and start chat about it.

Live chat Page for your users to chat about product.

Admin panel Admin panel - where you can manage users, products and answer to questions.

List of chats List of all conversations.

Kit's details Details of a kit.

Manage permissions Manage user's permissions.

Reorder products Reorder products on the home page.

Cookie policy consent popup Popup for cookie policy consent.

Account personal data Download all data for user.

Edit category Edit category.

Authors

Acknowledgements

License

This project is licensed under the MIT License.

About

App for presenting your services.

Resources

License

Stars

Watchers

Forks

Languages