As students, we all require notes and questions when we are practicing for any competitive exams, whenever I wanted the same, I had to ask my friends or I had to buy PYQs online. So to tackle that, I made a website where you can easily post notes and PYQs FOR FREE without even signing up. The website is called SolveIt.
There are many things that can be done on the website like uploading PYQs or Notes or any other study related material for a specific competitive examination in a PDF format. If the exam is state specific, you can select the state too. Currently it is only available for India, USA, China, United Kingdom and Australia. It also includes many exams like Gaokao, NEET, JEE, SAT, ACT, QCE, etc.
While uploading you can specify your country, state, examination name, year, class/grade and subject.
In the settings page, you can make your own avatar (it is inspired by skribbl.io) and yes, the scribbles are hand drawn. You can also delete your account if you wish to, and many other things like changing the password, email and deleting previously uploaded papers.
You can navigate easily on the browse page by using the searchbar as well as the filters. Filters will only show those options which are available. You can click on a card and view the paper inside the site itself if you don’t wish to download it. Moreover, you can see more details like uploaded by, uploaded on, length and size of the document and much more.
The most challenging part of this project was the backend as always. Routes didn’t work initially when I started off, I couldn’t figure out a way to make scribbled borders so I took help of AI for that. MOST ANNOYING part was the avatar builder, I had to make hand drawn scribbles and convert it into svg paths and then modify those paths according to the container. I also took help of AI to encrypt the passwords of the user.
I am very proud of the fact that I have self hosted this website, with the raspberry pi 5 that I received from Hackclub this year. I used Cloudflared private tunnel. Entire backend and database is on RPI.
I really wanted to add more things to the project but due to academics and school work, I have to ship it now or else I won’t get time for my upcoming examinations.
Before you test it, I would like to make a request that if you face any problem, please report it by going to Report a Bug page so that I come to know about it and can fix it as soon as possible.
For more details about the project and if you want to know about it in detail, please read the README file.
Added hand drawn images to the home page reducing the white space that was looking ugly earlier
Added continue as guest feature, if a user continues as guest, they won’t be able to delete their account or change their email address as well as password
Wrote the README file
I still do not consider this project as completely done, I will be adding more features to it once I am done with my academics
I have decided not to include themes as I can no longer work on this project due to school work academics
I just want to finish this project as soon as I can. Next devlog might be the last devlog of this project where I’ll add “Continue as guest” feature for shipwrights
SO, in this update, I’ve just basically copy pasted the change email logic and made a change password feature. I literally copy pasted it and then modified it for password hence it took less time
What next?
I’ll be summing up this project by adding continue as guest feature
Now you can make your own avatar just like skribbl.io!!!!!
It took so much of my time tbh, I had to hand draw every doodle, I wanted to record it on lapse but couldn’t as screen recording wasn’t working on iPad for some reason and also when I screenshared, the screen went black for some reason. I contacted lapse-help on slack but didn’t find any solution so I decided not to let it go
Added a new updateavatar component which lets you make your own avatar and update it if you want to!!
Did layout fixes on large screen devices as only horizontal scroll was allowed and vertical scroll was disabled (my friend told me, I didn’t even notice it lol)
Fixed frontend as well as backend bugs during the making of this avatar feature
This devlog is toooooo big ik but i couldn’t find time daily due to school and assignments and all
What next?
I’ll work on themes, black white and system themes. The basic ones
I’ll also work on “Continue as guest” so that shipwrights don’t have to login when they go through the project
I’ll most probably end the project for now after these features are implemented as I need to prepare for upcoming examinations and also stardance is coming to an end :(
Fixed the responsiveness issue on small screen devices
I also faced another issue, My friends were unable to download papers and it displayed “Error during downloading”
So I took help of AI to know what the problem is and it said that It was because their token had expired
SOOOOO…. I increased the token expiry limit to 30 days AND if the token is expired, you will be asked to login again.
I applied this throughout the website, upload, browse, report and download
I’ll also be switching to nest as I don’t fully trust my ISP and also because shipwright’s review policy said so. BUT i’ll do it towards the end once every feature is almost well built. I’ve applied to nest and hope they accept it as soon as possible!
What next?
Next, I’ll work on Avatar maker like skribbl.io (this is going to be tuffffffffff)
Handled 404 error (I had to because my WiFi was down several times today. Many of my friends thought that it was my mistake but actually WiFi was down so my rpi couldn’t serve data)
Made settings page and displayed user data on it.
I have added an easter egg when the site is down, so basically when there’s an 404 err, you can see an easter can which I’ve added to the site.
On the settings page, I have Apprearance settings, Account settings, Preference settings and Delete account. None of them are functional yet.
Took a lot of time to create a route (/me). As I faced a lot of bugs while doing so.
What next?
I know i’ve again delayed making doodles, I WILL MAKE THEM istg
I’ll also fix the resonsiveness issue on small screen devices
I’ll work on making the settings page functional
I have 2 days off at school so I am going yo use them very efficiently!!
Soooooo, the site it live. andithasalotofproblems!!!
I made the site live and asked my friends to use it and fill it with notes.
many of them complained about bugs so, I fixed some of them and NOW, I need to add a search bar on the site (I completely forgot lol).
In these 3 hours, I deployed the website (this time didn’t get counted as I was working on the terminal. But it took around 1 and a half hour). So in 3 hours, I handled bugs and fixed some of them, enhanced responsiveness as some of my friends complained that they couldn’t scroll on the website or smthng.
Added more information on the card, Added 2 new columns named description and type (as requested by a friend). Changed the layout of lower part of the card a little bit (made it a little bit clean). Made the upload code a bit efficient by removing repetitive code.
What next?
Next, I’ll work on making a search bar on the website so it is easy to use and navigate
I’ll be taking inputs from friends and working on them
I will be making a separate page where the user can see the pdf each separately insite the site
v(0.1.3-Alpha) Report bug feature and it’s backend + Enhanced responsiveness across the website + colours
Updates
Enhanced responsivess across the site
Added colours and sketchy borders and colours wherever I could
Added new report bug feature along with it’s backend (this one took time as WiFi went off and I couldn’t ssh into my rpi)
What next?
I’ll be making doodles (YES, i’ll be hand drawing them)
I haven’t thought about anything else yet! BUT, I might be making the website public and push it into the beta version, for that, I’ll need to setup a cloudflare connection via my rpi (aghh i’ll look into it once I am fully convinced with the frontend.
(v0.1.0-Alpha) Responsiveness + Fixed a loop hole + Showing more details in the card
Updates
Enhanced responsivess (sidebar, header, browse page for mob iles and large screen devices)
Displayed more info like region, year, subject, uploaded by, uploaded at, exam name, etc. to the card
Fixed loop hole, earlier, a user could access the browse page, basically entire website without logging in lol.
Added a new field to the database in papers table which stores the user’s name instead of just storing the id number of that person
What next?
I am thinking of adding notifications using react-toastify and sound effects
I’ll work on designing the card. I am considering to change the entire design and lean more towards a brutalist design
Next update is going to be a major one
Where was I since last 12 days?
I have been busy with school work and also my mid-terms are commencing from 1st of September so, I couldn’t give more time to thr project. This could also happen in the near future until my exams are completed (11th Sept)