As a Computer Science student's capstone project, Antisocial Social Network is a JavaFX application that showcases the practical application of theoretical concepts learned throughout my coursework. This project is not just a piece of software; it is a representation of my growth as a developer and my grasp of computer science fundamentals.
- Authentication: Secure login system with AES-encrypted passwords.
- User Interactions: Send and manage friend requests, echoing real-life social dynamics.
- Messaging System: Real-time communication with friends, demonstrating event-driven programming.
- Privacy Controls: Users can manage the visibility of their activities, emphasizing the importance of user-centric design.
- Complex SQL Operations: Demonstrates the use of advanced SQL for efficient data retrieval and manipulation.
- JavaFX: Used for crafting the Graphical User Interface, providing a practical example of modern Java application development.
- JDBC: To interact with a relational database, reinforcing the concepts of Java Database Connectivity.
- Encryption: Application of cryptographic techniques to secure user data.
- Design Patterns & Principles:
- MVC (Model-View-Controller): For a well-organized application architecture, separating the logic from the UI.
- Observer Pattern: To update the UI in response to data changes.
- Repository Pattern: For abstracting data layer complexities.
- SOLID Principles: Showcasing the application of object-oriented design principles for maintainable and extensible code.
- Exception Handling: Robust error management to ensure the application's resilience.
This project serves as a practical touchpoint for numerous computer science concepts, including:
- Data Structures: Utilization of Java collections to manage user data.
- Algorithms: Implementation of searching and sorting mechanisms for user interactions.
- Systems Programming: Managing resources and database connections effectively.