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.
-
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. -
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. -
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. -
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. -
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. -
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. -
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. -
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.