StudLeague is a voting system designed for the Ukrainian Student League. It provides a flexible sign-up process and incorporates two-factor authentication for enhanced security. The system allows real-time voting through websockets, providing detailed statistics for each voting session.
-
👤 Manage user roles: Administrators can assign specific roles to users, granting them different privileges.

-
✅ User Activation: Admins have the ability to activate user accounts, ensuring that only approved users can participate.

-
❌ User Deletion: Admins can also delete user accounts if necessary.

-
🗳️ Voting Control: Admins with voting control rights can create and manage votings, including options for making them private (anonymous) or public (visible to all users). They can also close votings when necessary.

-
🌐 User Type-Based Votings: Admins can create votings exclusive to certain user types, such as associate members or full-fledged members of the USL.

Regular users have access to the following features:
- 🔒 Change password
- 📧 Update email address
- 🔐 Enable or disable two-factor authentication
- 🖼️ Change profile picture
- 🌗 Switch between dark and light themes
StudLeague is built as a Progressive Web App, which means it can be installed and accessed directly from users' devices, similar to a native app. It offers the following advantages:
- 📥 Easy Installation: Users can install StudLeague on their devices with just a few clicks, without the need to visit an app store.
- 🔁 Offline Support: StudLeague can work offline or in low connectivity environments, allowing users to access certain features and content even without an internet connection.
- 🖥️ Cross-Platform Compatibility: StudLeague runs on any device with a modern web browser, including desktops, laptops, smartphones, and tablets.
The frontend of StudLeague is built using the following technologies:
- ⚛️ React.js: A JavaScript library for building user interfaces.
- 🔄 Redux: A predictable state container for JavaScript applications.
- 🎨 Material-UI: A popular React UI framework that follows the Material Design guidelines.
Before running the StudLeague frontend, ensure that you have the following:
- Node.js installed on your machine.
- Clone this repository:
git clone https://github.com/treizeez/studleague.git- Change to the project directory:
cd studleague- Install the dependencies:
npm install- Start the development server:
npm start- Open your browser and visit
http://localhost:3000to see StudLeague in action!



