Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Team_Phonex_Ritik_Vashist/.DS_Store
Binary file not shown.
Binary file not shown.
13 changes: 13 additions & 0 deletions Team_Phonex_Ritik_Vashist/Dummy Schema/podb.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
1,R123422,MR RAGHU KASHYAP,yash.vinayvanshi,yash@1234,Head,1
2,R121212,MR SHUDEER RAJAN,ritik.vashist09,ritikABCD,Teacher,0
3,R592312,MR MUKESH KUMAR,ksh_dwi11920,KD@#$%,Assistant,0
4,R172813,MS GAYATHRI CHAUDHARY,shou_gu1010,guptaR2D3,Teacher,0
5,R231234,MR PRAKASH CHAUBAY,rahul.hst12329,RAhul122,Associate Teacher,0
6,R912031,MR HARJAAP SINGH,tsetring128912,tsering5,Principal,1
7,R182910,MR KESHAV SHARMA,tsetring128912,tsering5,Shiksha Adhikari,1
8,R718293,MR RANJIT SETH,tsetring128912,tsering5,Teacher,1
9,R537483,MR PRACHAND SHEORAN,tsetring128912,tsering5,Teacher,1
10,R232345,MR RAKESH DUBEY,tsetring128912,tsering5,Teacher,1
11,R124890,MS SHAZIA ANSARI,tsetring128912,tsering5,Head,1
12,R231892,MR SONAM WANGCHUK,tsetring128912,tsering5,Head,1
13,R234234,MR HARISH VERMA,tsetring128912,tsering5,Principal,1
13 changes: 13 additions & 0 deletions Team_Phonex_Ritik_Vashist/Dummy Schema/userdb.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
1,NDT123435,YASH VINAYVANSHI,yash.vinayvanshi,yash@1234,10:00,1
2,MRT278392,RITIK VASHIST,ritik.vashist09,ritikABCD,14:00,0
3,XYU516283,KSHITIJ DWIVEDI,ksh_dwi11920,KD@#$%,00:00,0
4,LMT128938,SHOURYA GUPTA,shou_gu1010,guptaR2D3,00:00,0
5,TCV231452,RAHUL RAMASWAMI,rahul.hst12329,RAhul122,00:00,0
6,AGA125162,TSERING TSO,tsetring128912,tsering5,00:00,1
7,CHE125162,ROBIN CEREJO,tsetring128912,tsering5,00:00,1
8,RJS125162,MANJU CHAUHAN,tsetring128912,tsering5,00:00,1
9,KRT125162,SHASHI KUMAR,tsetring128912,tsering5,00:00,1
10,TAN125162,RAVINDRAN SWAMY,tsetring128912,tsering5,00:00,1
11,BIH125162,RISHI KUMAR JHA,tsetring128912,tsering5,00:00,1
12,UTP125162,SHAMIM AHMAD,tsetring128912,tsering5,00:00,1
13,UTP125162,MANOJ KUMAR,tsetring128912,tsering5,00:00,1
Binary file added Team_Phonex_Ritik_Vashist/Final_Deck_phoenix.pdf
Binary file not shown.
Binary file added Team_Phonex_Ritik_Vashist/NDT23546.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
84 changes: 84 additions & 0 deletions Team_Phonex_Ritik_Vashist/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@

# Electhon'23 : Problem Statement 2

SaralVote - We propose an end-to-end solution to this timely issue to spread in-time awareness, streamline the voting process, and also to provide targeted encouragement for enhanced participation.

## Team Name : _Phoenix
## Team Leader Name & Email : Ritik Vashist ritikvashist0109@gmail.com

# Problem Statement

Why voter turnout rate is low in India?
* Lack of awareness about the end-to-end election process
* The busy schedule of today's youth considers it to be a time-consuming process, primarily due to long queues!
* Some people believe that casting their vote will not make a big difference and see it to be only heavy on their pockets.

We propose an end-to-end solution to this timely issue to spread in-time awareness, streamline the voting process, and also to provide targeted encouragement for enhanced participation.

How do we intend to do it?
* **Targeting youth**: Voters who have reached the voting age are encouraged in a fun and interactive way to enroll for voter ID cards by youth constituency ambassadors incentivized by the ECI.
* **Gen-Z awareness**: Social media is the new word-of-mouth! We involve mass influencers across India, to interact through online platforms promoting election anthems/jingles and spreading the word.
* **Partial Digitization**: Proposal of an add-on feature in the Umang App, wherein QR code scanning provides seamless verification from the first two Polling officers, a slot-booking feature to avoid long queues, and bonus/coupons for first-time users.

# Key Value Proposition
- Igniting Electoral Passion
- Accessing the Social Media Generation
- Hassle-free Voting
- Fostering Youth Participation
- Accelerate Voting Procedure
- A helping hand for ECI



# Proposed Solution
![image](https://user-images.githubusercontent.com/66052961/232276910-56038f60-7a73-4762-b80e-b22460fc4573.png)


# Technology Stack
#### Frontend –
- HTML5 for the structure
- CSS3 for designing
- JavaScript for interactivity.
- Bootstrap Framework is used to enhance User Interface.
#### Backend –
- Python Language is used as it provided large library support
- Framework – Tkinter is used for Integration with frontend requests.
- OpenCV captures the user video.
- Pillow DeepFace module helps in the authentication of the user by face recognization.
- Pandas, numpy, matplotlip and sklearn is used for handling CSV files and data analysis.

# Implementation Screenshots
![1](https://user-images.githubusercontent.com/66052961/232276616-7421e69e-0367-42a0-afbe-8405fd5327ea.jpg)
![2](https://user-images.githubusercontent.com/66052961/232276619-a14f3576-be48-46a4-aebb-845165107732.jpg)
![3](https://user-images.githubusercontent.com/66052961/232276623-cc825b4a-a3ea-472c-b304-bea8090ae74f.jpg)
![4](https://user-images.githubusercontent.com/66052961/232276672-0c5ae9bd-018d-4150-b631-5ba8e351ff0d.jpg)


# Step by Step Procedure to run the project on your Local Machine

1. Download the project through the below mentioned link or as a ZIP file from GitHub. "GIVE LINK HERE"
2. Extract the Downloaded ZIP to a folder.
3. Download and Install Python on your platform through this link https://www.python.org/downloads/
4. Switch on to your favourite Integrated Development Environment (IDE) as the project is platform independent (Windows / Linux / MacOSX) as well as IDE independent (PyCharm, VS Code). We have preferred Visual Studio Code (VS Code) as our IDE.
5. Download and Installation link for Visual Studio Code – https://code.visualstudio.com/download
6. Open VS Code on your Platform and Navigate to File Button at the Top Corner
7. Click Open Folder, browse to your extracted folder and select that folder.
8. Navigate to required.txt file from the left pane in the folder and install the mentioned modules.
9. To install a specific module. For example – Tkinter. Follow the below steps –

I. In VS Code, Press Ctrl+` (for windows) to open the terminal\
II. Type the following command pip install tkinter\
III. VS Code will automatically install the tkinter and its subsidiary modules.\
IV. Once done, you will see a successful installation message\
V. Similarly, install other mentioned modules following I, II, III and IV steps

10. Enter the following commands to migrate Schema - python manage.py makemigrations
11. Now, enter command - python manage.py migrate
11. Enter the following command in the terminal – python manage.py runserver
12. If you encounter with an error, file not found. Right Click on the manage.py file in the left side bar, click on copy path, and replace manage.py with the path in the above command.
13. Now, you will see Starting Development Server stating the link of the application.

# Thank you :)
## TEAM NAME : _Phoenix
### Ritik, Shourya, Yash

Binary file not shown.
181 changes: 181 additions & 0 deletions Team_Phonex_Ritik_Vashist/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@

from tkinter import *
from PIL import ImageTk, Image
import csv

#canvas declaration
root = Tk()
root.title("The ECI admin")
root.geometry('700x900')

#userlogin-------------------------------------------------------------------------
#top header
header1bg = '#f3f3f3'
header1canvas = Canvas(width=700, height=80, bg=header1bg, highlightthickness = 0)
header1canvas.place(x=0, y=0)
umanglogo = ImageTk.PhotoImage(Image.open("./media/umanglogo.png"))
umang = Label(root, image=umanglogo, bg=header1bg)
umang.place(x=10, y=10)
digitalindialogo = ImageTk.PhotoImage(Image.open("./media/digitalindia.png"))
digitalindia = Label(root, image=digitalindialogo, bg=header1bg)
digitalindia.place(x=60, y=10)
ECIlogo = ImageTk.PhotoImage(Image.open("./media/ECIlogo.png"))
ECI = Label(root, image=ECIlogo, bg=header1bg)
ECI.place(x=150, y=10)
text1 = Label(text="VOTER e-SERVICES", font="Bold 30", bg=header1bg, fg='black')
text1.place(x=350, y=20)

#second header
header2bg='#feb2a8'
header2canvas = Canvas(width=700, height=50, bg=header2bg, highlightthickness = 0)
header2canvas.place(x=0, y=80)
header = Label(text="The ECI Admin", font="Bold 20", bg=header2bg, fg='white')
header.place(x=300, y=90)

#text content
text2 = Label(text="LOGIN", font="Bold 20", fg='black')
text2.place(x=320, y=170)

#login input form
logincanvas = Canvas(width= 400, height=185, bg=header1bg, highlightbackground='black', highlightthickness=2)
logincanvas.place(x=150, y=220)
usersusername = "a"
userpassword = "a"
text3 = Label(text="USERNAME:", font="Bold 15", bg=header1bg, fg='black')
text3.place(x=200, y=250)
username = Entry(root, width=20, highlightthickness=0)
username.place(x=300, y=250)
text4 = Label(text="PASSWORD:", font="Bold 15", bg=header1bg, fg='black')
text4.place(x=200, y=300)
password = Entry(root, width=20, highlightthickness=0)
password.place(x=300, y=300)

def clearworkspace():
header2canvas = Canvas(width=500, height=580, bg='white', highlightthickness = 0)
header2canvas.place(x=205, y=140)

def clicked20(panel):
clearworkspace()
text3 = Label(text="Voting status update", font="Bold 20", bg='white', fg='green')
text3.place(x=350, y=150)
text4 = Label(text="Last updated: 1.5hrs ago", font="Bold 15", bg='white', fg='green')
text4.place(x=360, y=180)
img2 = ImageTk.PhotoImage(Image.open("./media/table3.png"))
panel.configure(image=img2)
panel.image = img2
panel.place(x=350, y=210)
panel.tkraise()

def clicked10(panel):
img2 = ImageTk.PhotoImage(Image.open("./media/influencer.png"))
panel.configure(image=img2)
panel.image = img2
panel.place(x=250, y=280)
panel.tkraise()

def clicked11():
text3 = Label(text="✓ Mail Send Successful", font="Bold 25", bg='white', fg='green')
text3.place(x=300, y=600)

def clicked2(panel):
clearworkspace()
canvas1 = Canvas(width= 450, height=120, bg=header1bg, highlightbackground='black', highlightthickness=2)
canvas1.place(x=225, y=150)
text3 = Label(text="Follower", font="Bold 15", bg=header1bg, fg='black')
text3.place(x=250, y=180)
text3 = Label(text="Threshold:", font="Bold 15", bg=header1bg, fg='black')
text3.place(x=250, y=200)
username = Entry(root, width=20, highlightthickness=0)
username.place(x=350, y=180)
btn = Button(text="Mine Contacts", command=lambda: clicked10(panel))
btn.place(x=400, y=220)
btn1 = Button(text="Send mails", command=clicked11)
btn1.place(x=400, y=550)

def renderservicespage():
for widget in root.winfo_children():
widget.destroy()

header1bg = '#f3f3f3'
header1canvas = Canvas(width=700, height=80, bg=header1bg, highlightthickness = 0)
header1canvas.place(x=0, y=0)
umanglogo = ImageTk.PhotoImage(Image.open("./media/umanglogo.png"))
umang = Label(root, image=umanglogo, bg=header1bg)
umang.image = umanglogo
umang.place(x=10, y=10)
digitalindialogo = ImageTk.PhotoImage(Image.open("./media/digitalindia.png"))
digitalindia = Label(root, image=digitalindialogo, bg=header1bg)
digitalindia.image=digitalindialogo
digitalindia.place(x=60, y=10)
ECIlogo = ImageTk.PhotoImage(Image.open("./media/ECIlogo.png"))
ECI = Label(root, image=ECIlogo, bg=header1bg)
ECI.image = ECIlogo
ECI.place(x=150, y=10)

header2bg='#feb2a8'
header2canvas = Canvas(width=700, height=50, bg=header2bg, highlightthickness = 0)
header2canvas.place(x=0, y=80)
header = Label(text="WELCOME ADMIN !", font="Bold 20", bg=header2bg, fg='white')
header.place(x=10, y=90)

header3bg='#e5e5e5'
header3canvas = Canvas(width=200, height=740, bg=header3bg, highlightthickness = 0)
header3canvas.place(x=0, y=130)


footerbg='#feb2a8'
footercanvas = Canvas(width=700, height=50, bg=footerbg, highlightthickness = 0)
footercanvas.place(x=0, y=720)
footertext1 = Label(text="Developed by Team: _phoenix", font="Bold 15", bg=footerbg, fg='white')
footertext1.place(x=260, y=730)

#To keep reference image in function passing
img = ImageTk.PhotoImage(Image.open("./media/referencedummy.png"))
panel = Label(root, image=img)
panel.image = img

btnfg='blue'
btnbg='white'
btn1 = Button(root, text="VOTING UPDATES", bg=btnbg, fg=btnfg, command=lambda: clicked20(panel))
btn1.place(x=10, y=150)
btn2 = Button(root, text="SOCIAL MEDIA CAMPAIGN", bg=btnbg, fg=btnfg, command=lambda: clicked2(panel))
btn2.place(x=10, y=200)

def clicked():
#text2.configure(text="here")
res1 = username.get()
res2 = password.get()
if(res1 == usersusername and res2 == userpassword):
renderservicespage()
#else:
#text4 = Label(text="Wrong credentials", font="Bold 15", bg=header1bg, fg='black')
#text4.place(x=200, y=120)


loginbtn = Button(root, text="login in", fg="blue", command=clicked, highlightthickness=0)
loginbtn.place(x=330, y=350)
textn = Label(text="new user ?", font="Bold 10", fg='blue', bg=header1bg)
textn.place(x=160, y=380)
signinbtn = Button(root, text="Register", fg="blue", highlightthickness=0)
signinbtn.place(x=225, y=380)
textnpo = Label(text="forgot password ?", font="Bold 10", fg='blue', bg=header1bg)
textnpo.place(x=440, y=380)
text5 = Label(text="General Guidelines", font="Bold 20", bg='white', fg='black')
text5.place(x=260, y=450)
text6 = Label(text="1. Do not share your password with anyone", font="Bold 15", bg='white', fg='black')
text6.place(x=150, y=480)
text7 = Label(text="2. It is recommended to set a strong password", font="Bold 15", bg='white', fg='black')
text7.place(x=150, y=510)
text8 = Label(text="3. ECI cares about your privacy", font="Bold 15", bg='white', fg='black')
text8.place(x=150, y=540)
text9 = Label(text="4. Lorem ipsum tatanini hello world", font="Bold 15", bg='white', fg='black')
text9.place(x=150, y=570)
footerbg='#feb2a8'
footercanvas = Canvas(width=700, height=50, bg=footerbg, highlightthickness = 0)
footercanvas.place(x=0, y=720)
footertext1 = Label(text="Developed by team _pheonix", font="Bold 15", bg=footerbg, fg='white')
footertext1.place(x=280, y=730)


root.mainloop()

Loading