E-Pilketos (Electronic Pilihan Ketua OSIS) is a web-based application designed for conducting digital voting for school student council elections. The system is developed using Laravel, providing a secure and efficient voting process with role-based access control.
- Student Registration: Students can register and authenticate to cast their vote.
- Secure Voting System: Each student can only vote once.
- Real-time Voting Results: Display real-time election results after the voting period ends.
- Role-Based Access Control: Different menus and functionalities are available based on user roles (Admin, User, TPS).
- Responsive Design: Fully responsive, accessible on mobile devices.
The Admin has full access to the following menus and functionalities:
Menu | Submenu |
---|---|
Dashboard | |
Voting Session | |
Participant | Class |
User | |
Activation | |
TPS | |
Candidate | |
Precence |
The User role has access to:
Menu | Submenu |
---|---|
Dashboard | |
DPT | |
Register |
The TPS role has access to:
Menu | Submenu |
---|---|
Precence | |
Voting |
- PHP >= 7.4
- Composer
- MySQL or any other supported database
-
Clone the repository:
git clone https://github.com/mnovel/E-PILKETOS.git cd E-PILKETOS
-
Install dependencies:
composer install
-
Environment setup:
- Copy
.env.example
to.env
cp .env.example .env
- Set up your database in the
.env
file:DB_DATABASE=epilketos DB_USERNAME=root DB_PASSWORD=
- Copy
-
SMTP Setup: Configure your SMTP settings in the
.env
file:MAIL_MAILER=smtp MAIL_HOST=smtp.example.com # Replace with your SMTP host MAIL_PORT=587 # or 465 for SSL MAIL_USERNAME=your-email@example.com # Your SMTP username MAIL_PASSWORD=your-email-password # Your SMTP password MAIL_ENCRYPTION=tls # Use 'ssl' for port 465 MAIL_FROM_ADDRESS=your-email@example.com # Email address for sender MAIL_FROM_NAME="${APP_NAME}" # Your application name
-
Generate application key:
php artisan key:generate
-
Run migrations:
php artisan migrate
-
Seed database with dummy data (Optional):
php artisan db:seed
-
Run the application:
php artisan serve
The application will be available at
http://localhost:8000
.
-
Admin Login: Admin can log in using the following default credentials:
- Email:
admin@gmail.com
- Password:
admin
Admin can:
- Access the dashboard, manage voting sessions, participants, and TPS.
- View real-time election results.
- Email:
-
User Login: Users can register and log in to cast their votes. They can access their dashboard, view DPT, and register if necessary.
-
TPS Login: TPS users can manage presence and oversee the voting process.
- app/Http/Controllers: Contains the controllers for handling user requests.
- resources/views: Contains the Blade templates for the user interface.
- routes/web.php: Defines the routes for the web application.
- database/migrations: Contains the migration files for creating database tables.
If you would like to contribute to this project, feel free to create a pull request or raise an issue.
This project is licensed under the MIT License.