/Notes-Academy

An interactive dynamic website that manages and provides study notes which can be quickly accessed by any college going student 📝

Primary LanguageJavaApache License 2.0Apache-2.0

Notes Academy Website

An interactive dynamic website that manages and provides study notes which can be quickly accessed by any college going student 📒



📝Project Documentation

This documentation contains the detailed description of analysis, design, coding and testing done on this project. https://docs.google.com/document/d/1qZsYYe6iegc2V68V_-3O-IAEdrLW7DgbKgfug0lRk1g/edit?usp=sharing



Website video

This video will show you the working of the website and will guide you on how to use it. https://drive.google.com/file/d/1RFdvnR-Kee2yaw1v-sKunKEWZ4BPiR2c/view?usp=sharing
Further improvements and testing - https://drive.google.com/file/d/1gaiUzfEXHR3sy-X7bFxoAWRvfSIi6pSu/view Index.jsp



📄Project Description

Q. What is the purpose of this website?

  • This website is a free and open interactive platform to manage college notes uploaded by students, which can then come in use of other students who are in need of notes to study for their exams.
  • Notes are categorized in proper sections, which makes them easily accessible to users.

Q. How will users benefit from this website?

  • Users can upload and gain quick access to study notes of various courses and subjects anytime, all in a single place.
  • No more wasting time in searching for college related notes randomly everywhere.
  • Everything can be quickly accessed here.

Q. What technologies are used to build this website?

  • Frontend - Html, Css, JavaScript, Bootstrap
  • Backend - Java, JSP, JDBC, MySQL, JUnit 4

Q. What features does this website have?

  • Dynamic website - Everything is linked to the database.
  • Responsive - This website can be used on laptops, tabs as well as on mobile phones.
  • Validation - Every form is validated properly.
  • Data hiding - Notes will first go to the admin to be checked and then only they'll be uploaded on the main website.
  • Data classification - Notes are given certain tags based on particular categories. This enhances the UX of the website.
  • Filter system - Notes can be filtered according to user's needs.
  • Rank system - Reward based system that increments after completing certain criterias.
  • Search bar - Quickly searches particular notes.
  • Payment system - Razorpay API used for demo payments.
  • Admin section - Admin can control the workflow of the entire website.
  • Create PDF - Online PDF maker from images.
  • Role Based Authentication - Users cannot access Admin section.
  • Password Encryption - Users passwords are encrypted and safely stored in the DB.

Q. What features will be implemented in future?

  • Along with note, sections will be made to upload project github links and pdfs.
  • More sections will be made for users to upload test papers, youtube lecture links and ebooks.
  • Comments will be implemented for users to communicate with each other.
  • An inbuilt text editor will be made where users can take down notes during their lectures on their phones and then can immediately upload on the website.
  • New notification system , to alert the user when his/her notes are accepted.
  • A Recommendation system will be made where users can get easy access to their favourite type of notes.


How to install and run this project

  • You'll need Netbeans 8.2, JDK 8, Maven, Glassfish 4.1.1 and Xampp downloaded on your PC/Laptop to run this project.
  • Download the project files on your PC/Laptop.
  • Open the project in Netbeans 8.2.
  • Open Xampp and start Apache & MySQL. Then click on Admin next to mysql.
  • Download and import the database file in phpmyadmin ( database file is provided in the files of the project : https://github.com/Kevin-Menezes/Notes-Academy/blob/main/notesacademydb.sql )
  • Build and run the project in Netbeans.
  • Now you can follow the video and navigate through the project.
  • Admin - username = admin@gmailcom | password = admin13579.


💡Learnings from this project

  • Gained good experience on workflow of creating a complete fullstack website.
  • Learnt how to plan and execute this website right from it's analysis and design to it's final testing.
  • Learnt how to improvise by adding on new features at every stage.
  • Gained good experience on how to debug when faced with errors.


License

Distributed under the Apache 2.0 License. See LICENSE.md for more information.



References