/MyAcadRec--webapp

My Academic Record is a Multi-Page Full Stack Responsive Web application made entirely from Python🐍. My Academic Record is powerful web based app which serves an important purpose that is storing and tracking your academic performance and history like a digital diary or a log of you academic status.

Primary LanguageJupyter Notebook

|><|===> My Academic Record✍️💻 <===|><|

My Academic Record is a Multi-Page Full Stack Responsive Web application made entirely from Python🐍. My Academic Record is powerful web based app which serves an important purpose that is storing and tracking your academic performance and history like a digital diary or a log of you academic status. Not just recording it also provides data analytics of your performnace in an Aesthetic and visually pleasing graphs. The entire application is Responsive hence can be accessed in any device ranging from a smartphone to a desktop.

The moto of making this app is i personally feel unanswerable to myself where i'm lacking or whether is there any improvement or consistency in my perfromance compared to the last semester, why care you ask coz these little things matter in the end and we are just too lazy to enter those marks in a physical diary or keep record of them and carry, now..whats the better way of doing it?.. the solution is a web app which can be accessed anywhere on any device any time and there is no question of loosing the log cause eveything is digital as it should be in 21st century.

How to Use the App:

If you haven't sign up yet feel free to create an account

After creating an account, sign in into your account

After Sign-in Your Dashboard looks like this:

Navigate through Different optiona from the Horizontal NavBar

dashbaord.mp4

If you are a new user enter your data or if you're an existing user you can either edit your previously entered data or enter new data.

editing.mp4

Detailed Analytics can be viewed in the analytics section for semster-midterm-weekly tests

analytics.mp4

There is Also a To-Do app built in which can be used as planner as well as scheduler

You can Create a task

create.mp4

You can Read a task

read.mp4

You can Update a task

update.mp4

You can Delete a task

delete.mp4

Challenges and the Hustle

  • More then making a WebApp which can be used day to day i made "My AcadRec" as a Personal Challenge to test my logical coding skills.

  • The Challenge is to create

    • A WebApp entirely from Python with no frontend-scripting-backend languages.

    • The WebApp should be Dynamic and Full-Stack with all CRUD Operations.

    • Should not use a database or integrate an external Database.

    • Make an Authenticated Sign-Up & Sign-In System in streamlit itself (i bet in the whole internet you wont find sign in system made out streamlit).

    • Validate/Authenticate Users when they Sign-in with security.

    • Should contain all the operations as a Full-Stack app.

    • The entire app should be made under 1500 lines ( final version exceeded >1700 lines ).

    • A App which has rich UI/UX and zero functionality errors.

Working Demonstration:

As soon as the user creates an account for the 1st time a new folder is generated with his roll number autonomously and empty template files are added into the folder which can be filled by the user once he logs in, once filled the file structure changes and content loaded in the next login section changes, options available during the intial login will not be displayed if the system checks the intial "empty" template files are filled

templateaction.mp4

For Intial login Options looks like this:

beforeediting.mp4

After every other login apps stops showing you necessary options shwon during your 1st time login, 2nd Login on wards it looks like this

afterediting.mp4

If the user chooses to add a DP , the uploaded image is collected resized and compressed with minimal resolution loss and stored with a name same as roll number

dp.mp4

If you choose Lateral during sign up you wont see semster-1 and semster-2 , it starts from semester-3

For every new Semester or change in the curriculum, base template should be added or edited depending upoun the change in the Templates dir so that the new users as well as the current users data is not lost and updated as per the time, the only manual thing to do is editing the template during curriculum changes rest all the operations are autonomous.

In case if the user chooses not to upload any DP for the 1st time by default "boo.jpg" from the template dir is saved, later he can change it once logged in.

  • The Motto behind to not to use a database is to challenge the logical side of me, with a database like sql lite3 things are so easy the entire app can be made in a week with zero scope of errors or crashes with little or no efforts, the real struggle is to create one that requires a database to store or request data without using a database. With no database the work of getting,saving,storing,accessing and requesting data becomes so sensitive and difficult. Why the Struggle you ask..idk...why do people still use vanilla CSS when there are frameworks which make life easier like tailwind css, bootstrap ?! it's just how it is. Somehow after spending close to 20days i finnaly managed to complete it on my own without help of an online tutorial or some sort of resource,I feel glad that there is no streamlit app in the entire internet which is full stack and has accouting system without a CMS(content mangement system) and ORM(Object–relational mapping), "My AcadRec" is a fully functional Dynamic web app which provides content based on the user who logged in, the best thing is that it all does this without frontend-scripting-backend languages support.

Note:

  • I'm looking forward for creative collabrators to improve the app functionality and enchnace the UI/UX

  • Feel free to fork the repo and make a pull request

Note :

  • The App is still in "Production" and will be deployed soon , still working on couple of analytics sections and planning on implementing FaceRecognition Login System where users can login by looking at the webcam need not enter any password. App Link can found in top right section after deployment

Peace Out ✌️