Rate My Class

Introduction: In our pursuit of creating a more connected and transparent high school community, we’re excited to announce our upcoming project - a Class Reviews & Ratings Platform. Inspired by the popular RateMyProfessor platform, we aim to provide a space where students can share their thoughts on classes, fostering a supportive and informed learning environment.

Project Overview:

Our platform will incorporate a secure login system using JSON Web Tokens (JWT) to ensure user authenticity and data security. Students will be required to create an account to access the platform, and once logged in, they can contribute by leaving one review per class. This limitation ensures fairness and encourages thoughtful feedback.

Technical Architecture:

  1. Spring Backend:
    • Utilize the Spring framework for building a robust backend.
    • Implement JWT authentication for secure user logins.
    • Set up RESTful API endpoints for handling user registration, login, posting reviews, and retrieving class data.
  2. Database Integration:
    • Integrate a database to store user information, class profiles, and reviews.
    • Use a relational database to establish connections between users, classs, and reviews.
  3. User Authentication:
    • Implement JWT-based authentication to secure user accounts and ensure data privacy.
    • Users will receive a token upon successful login, which they must include in subsequent requests for authentication.

Frontend Design:

  1. User Registration and Login:
    • Create a user-friendly registration and login interface for students to create accounts and access the platform securely.
  2. class Profile Pages:
    • Design individual pages for each class where students can view existing reviews and leave their own.
    • Include key information about the class, such as classes taught, experience, and any additional details deemed relevant.
  3. Review Submission Form:
    • Develop an intuitive form for students to submit reviews, ensuring they can express their thoughts effectively.
    • Limit users to one review per class to maintain fairness and discourage misuse.
  4. Review Display Section:
    • Implement a section on the class’s profile page to display existing reviews, including the reviewer’s name, date, and comments.

Mini Plan:

  1. Weeks 1-2: Project Setup
    • Set up the Spring backend with JWT authentication.
    • Create the database schema for user accounts, class profiles, and reviews.
  2. Weeks 3-4: Frontend Development
    • Design and implement the user registration and login pages.
    • Develop the class profile pages, ensuring a clean and user-friendly layout.
  3. Weeks 5-8: API Integration and Review Functionality
    • Connect the frontend to the backend through API calls.
    • Implement review submission functionality and ensure that users can only submit one review per class.
  4. Weeks 9-10: Review Display and Refinement
    • Design the review display section on the class profile pages.
    • Conduct thorough testing, addressing any potential issues or improvements.
  5. Week 11: Security and Privacy
    • Double-check and enhance security measures, especially regarding JWT authentication.
    • Implement privacy features to protect both user and class information.
  6. Week 12: Deployment and User Testing
    • Deploy the platform to a secure server.
    • Conduct user testing to gather feedback and make any necessary refinements.
  7. Weeks 13-14: Documentation and Finalization
    • Document the project, including setup instructions and API documentation.
    • Make any final adjustments based on user feedback and prepare for a successful launch.

Conclusion:

In conclusion, our class Reviews & Ratings Platform is not just a technological endeavor but a step towards building a stronger and more collaborative high school community. By providing students with a voice and class with valuable feedback, we aim to create an environment where everyone contributes to the enhancement of education. Stay tuned for the official launch and let’s make our high school experience even better together!