Skip to content

Latest commit

 

History

History
35 lines (26 loc) · 2.2 KB

README.md

File metadata and controls

35 lines (26 loc) · 2.2 KB

Overview

Baloot is a web-based project developed as part of the Internet Engineering course at the University of Tehran. It encompasses multiple phases, each focusing on web development and software engineering aspects.

Project Highlights

  1. CA1: Logic Domain, Git, Maven, Unit Testing (JUnit)

    This phase delves into the logic domain of the project, utilizing version control with Git, building with Maven, and ensuring code integrity through unit testing with JUnit.
  2. CA2: Simple Web Server, Javalin, Jsoup

    Here, the focus shifts to implementing a basic web server using Javalin while integrating Jsoup for web scraping tasks.
  3. CA3: Tomcat, Servlet, JSP, MVC

    The project advances to more complex server architecture in this phase by employing Tomcat, Servlets, and JavaServer Pages (JSP) within the Model-View-Controller (MVC) framework.
  4. CA4: HTML, CSS

    The project turns its attention to user interface design, covering the basics of HTML and CSS to enhance the visual presentation of the web application.
  5. CA5: React, CORS, Spring, Standard API

    Building on the foundation, this phase introduces React for dynamic front-end interaction, addresses Cross-Origin Resource Sharing (CORS), and integrates Spring for server-side functionality through a standard API.
  6. CA6: MySQL Database, JDBC, Hibernate

    Data management takes the spotlight with the introduction of a MySQL database, utilizing JDBC for database connectivity, and implementing Hibernate for effective database interaction.
  7. CA7: Authentication, JWT, OAuth, JWT Authentication Filter, SQL Injection

    Security becomes a priority with a focus on user authentication and authorization. This phase covers topics such as implementing authentication with JSON Web Tokens (JWT), OAuth, employing JWT Authentication Filters, and safeguarding against SQL injection attacks.
  8. CA8: Docker, Nginx

    The final phase explores containerization using Docker, allowing for streamlined deployment. Additionally, Nginx is introduced to manage web server tasks and enhance the application's scalability and performance.