Overview of My Submission
Background π΅οΈββοΈ
I always wanted to have my lottery management web application since all of the existing ones are either too bloated or aren't that user-friendly. But I was just delaying the project because it wasn't the need of the hour. Fortunately, I wasn't able to further procrastinate my idea as Dev.to announced the Microsoft Azure Hackathon, and I immediately started working on it.
Project Description π
Prize Bond Draw is a web application for managing prize bonds which are a unique method of investment that are essentially lotteries backed by the government. This project enables the end-user of the application to effectively manage their prize bonds and ease the hassle of manually searching their serials when the result is announced.
Technical Overview π§βπ»
- It is a full-stack web application made with Flask Microframework.
- For persistent data storage, I have used the Postgresql database.
- The User Interface is built with Html/CSS and Bootstrap V5.0.
- Supports role-based mechanism to authorize the users:
-
Admin
Can add denominations and their respective prizes, update the winning list and announce the notifications to all the users. -
User
Can store their bond serials and check the results of either all of their serials or by entering any particular serial.
-
- For CI/CD π I have used Github Actions to deploy automatically to Azure VM. Check out the workflow script to know more about it.
Features β¨
β
The application supports all CRUD operations.
β
Easy to use and user-friendly.
β
Keep all the users updated about the latest result announcements with the notifications π.
β
Supports email confirmation and password resetting.
β
All of the user-related data is saved securely π in the Postgres database.
β
The application is deployed on Microsoft Azure so you can trust the security π―.
The Most Important Feature π€©
The most important feature that I'm proud of π is the text extraction from the bond picture. For that, I have used Microsoft Azure Optical Character Recognition API. Thus enabling the user to add the serial just by uploading the picture of the bond. See Appendix for some sample bonds so that you can try yourself π₯°.
Dashboards
As stated previously, there are two distinct roles the web application supports. So there are two dashboards one for the admin of the application, and the other for the user.
The Admin Dashboard π¨βπ§
- To view the admin dashboard login with the following credentials.
- Email: admin@admin.com
- Password: testing123
- The admin is responsible for uploading the latest results, announcing the notifications, adding denominations and their respective prizes.
- The admin has the privilege to access all the data including serials, denominations, prizes, and of users too but is restricted to modify any of the user-related data.
- Any of the data can be searched and filtered which is a must-have feature in today's ever-growing data.
- Winners lists usually contain many records and it would be too hectic to upload them manually so the admin can upload the list directly from the file.
- One thing to keep in mind while uploading the data from the file is that the application requires the file to be formatted in a certain way. See appendix for a demo file.
The User Dashboard π¨βπ¦°
- To view the user dashboard, create an account first.
- Be sure not to use any invalid email as you will need to confirm your email.
- The recommended way is to get a temporary email from temp-mail and don't use your personal email as anyone can access the admin account and can see your email.
- I have created some demo accounts for testing so you can use those for testing. See appendix for more details.
- The user can add or remove their serials and check their results to see if they have won any prize.
- Users can also change their name, email and password if they want to.
Submission Category:
Computing Captains
Azure Services Used
- Azure Virtual Machine
- Azure Optical Character Recognition Api
Azure Resources
Link to Code on GitHub
zain2323 / prizebond-draw
A web-application developed for the Microsoft Azure Trial Hackathon hosted by https://dev.to/
Prizebond Drawer
π Project Description
Prize Bond Draw is a web application for managing prize bonds which are a unique method of investment that are essentially lotteries backed by the government.
- This is a full stack web application that supports all the CRUD operations.
- Supports role based mechanism to authorize the users
-
Admin
Can add denominations and their respective prizes, update the winning list and announce the notifications to all the users. -
User
Can store their bond serials and check the results of either all of their serials or by entering any particular serial.
-
- One unique feature is that you can add your bond serial by just uploading their picture.
If you would like to read more about how prize bond works then check out this link Prize Bond.
NOTE: I have made this website in accordance with how the prize bond works in Pakistan only and I amβ¦
Demo
Want to test every feature yourself? Yeah sure, definitely check it out and don't forget to give your honest review.
π Prize Bond Draw
Admin Panel Screenshots π₯³ π₯
- Denominations π΅
- Prizes π
- Winners List π
- Adding Winner's Records Through File π
- Sending Out Notifications π―
User Panel Screenshots π₯³ π₯
- Home Screen π
- Account Info βΉοΈ
- Result Window ππ¦
Appendix
β Some pre-created accounts for testing:
S.No | Password | |
---|---|---|
1 | admin@admin.com | testing123 |
2 | guvejyli@ryteto.me | testing123 |
3 | kidiy79527@xindax.com | testing123 |
β
Check out this π link for some pre-made test data files for updating the winners list. Only this format works while updating the winners list. Use of any other format might not work.
β
Check out this π link to get some sample bonds.
I hope you liked my project π€. If you have any kinds of questions or opinions then please don't hesitate to post them in the comments section.
Till then Good Bye. πββοΈπ
Top comments (0)