Slides:
- Overview
- Introduction to Network
- Server
- Introduction to Database
- Build System
- Client - JavaFx (Under construction) π§
- Git & Github
- Docker (optional) (Under construction) π§
- Client-Server Application Structure
- Project Scope & Requirements
- IP, Port, Socket, and Socket Programming
- HTTP Protocol & Methods (GET, POST, etc.)
- Endpoints, APIs, and RESTful API Concepts
- Data Formats: JSON, YAML, XML
- API Testing Tools: Postman, Insomnia
- JWT (JSON Web Token) for Authentication
- Architectures:
- Monolithic
- Layered(N-tier)
- Microservices (optional)
- Design Patterns:
- MVC (Model-View-Controller)
- Singleton (for JDBC connection)
- DAO (Data Access Object β Optional but useful)
- Factory (Optional)
- Observer (Optional)
- Implementing an HTTP Server in Java
- Introduction to Databases
- Setting Up Databases (PostgreSQL, MySQL):
- Installation on Local Machine
- Installation Using Docker (Optional)
- Database Clients
- Types of Databases
- Relational Databases (RDBMS) β Store data in tables with rows and columns (e.g., PostgreSQL, MySQL, SQLite).
- NoSQL Databases β Designed for non-tabular data storage, useful for scalability and flexibility (e.g., MongoDB, Redis).
- SQL Basics: ER Model, Primary Keys, etc.
- JDBC: Connecting Java Applications to a Database
- ORM (Object-Relational Mapping) with Hibernate (Optional)
- Introduction to Build Tools
- Maven: Dependency Management & Build Automation
- Gradle: Configuration & Performance Optimization
- Developing the Client-Side Application with JavaFX
- Using Scene Builder for UI Design
- Connecting JavaFX with the Server
- Handling API Calls and Parsing Responses
- Implementing User Interaction and Event Handling
- Android Development (Optional): Using Kotlin and Jetpack Compose library
- Topics marked as optional are not mandatory but recommended for deeper understanding.
- The project is structured to cover full-stack development using Java.
- Ensure to follow best practices and design patterns for maintainability and scalability.
Happy coding! π