Skip to content

likviq/SimpleQueue

Repository files navigation

SimpleQueue

SimpleQueue - система створення черг для різних подій, як онлайн та і офлайн. Приєднуватись можна буде за допомогою лінка, в якому вже буде захешований пароль, або не захешований - буде видно. Це посилання можна отримати або від когось, хто вже у черзі і може вам його надіслати через особисті повідомлення на цьому ж сайті, або через QrCode(створення цього коду буде доступно для власника черги) - в нього буде зашито те саме посилання з паролем, якщо власник, звісно, його встановив. Учасники черги можуть мати можливість переписуватись між собою у спільному чаті(тут я планую підключити функціонал веб-сокетів і не тільки тут), також вони можуть змінювати своє місце в черзі з іншою людиною. Планую ще зробити, щоб веб-додаток пропонував користувачеві найкращі події відповідно до його даних в базі, такий собі мікро штучний інтелект(лінійна регресія), яка матиме дані користувача на вході і найкращі події на виході. Якщо коротко, то задумка полягає в тому, щоб зробити міні соцмережу(з особистою сторінкою та постами) з основним функціоналом, який полягає у функціональній частині черг для різних подій - чи то черга на здачу лабораторних, чи на прийом до лікаря. Features:

  • queue creating with google api(get string address from latitude and longitude), with password(optional);
  • every queue can have his own chat(also optional);
  • each queue will have custom qrCode to join;
  • creator can freeze, change start time and kick members
  • people in queue can swap their places with each other;
  • to communicate about swapping places users can use private chat;
  • each user will have his personal page with some statuses - some kind of mini social network;
  • global error handling;
  • different error pages(500, 404, 400);
  • automapper for DTOs and VeiwModels.
Upon entering the site, the user will see the main page with brief information about the application in English, but the user can change it to Ukrainian:

homePage

In order to create an account, the user needs to go to the registration page and fill in all the required fields:
  • unique username;
  • valid email address;
  • password;
  • confirm password (passwords must match): registrationpage
The user who has an account can log in with a username and password:

loginpage

You can also use your Google or Facebook account data to create a new user and login

googleAuth

Each user (registered and not) can find the queue he needs according to the following parameters:
  • Search value (the search is carried out by finding the same substrings, which can be supplemented with tags)
  • Start date
  • End date
  • Is it frozen?
  • Is there a chat for communication?
  • Is there a password to access the queue searchPage
The users can also sort received queues according to the following criteria:
  • Recommended;
  • The newest;
  • The oldest;
  • More popular first (more users in the queue);
  • The least popular. sortby
There are only two types of queues:
  • fast (in real time, users join and do not have a constant value when it will be their turn);
  • postponed (the queue owner chooses the date and the amount of time required for one user).
Each queue can have a picture that every user will see. All images are stored in azure storage.

Вигляд створення черг Вигляд черг

Delayed queue:

Each user can take several places, all operations that change the UI don't update the entire page, but only replace elements dynamically for each user using the signalR. For instance, if someone took a place, then another user will see it without reloading the entire page. delayedQueue Any user can check the link to the queue by clicking on the button, or open the page for printing the code. There is also a small qr code on the queue page itself, which contains information for users how to open that page. All generated qr codes are not stored anywhere, but generated dynamically, according to the link. qrCodeSample

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published