AnimePicker is a lightweight desktop application built with Java that enables users to discover random anime titles from the extensive MyAnimeList database through the Jikan API. The application features a user authentication system and an intuitive graphical interface designed to provide a seamless anime discovery experience.
- User Authentication: Secure login system utilizing the DummyJSON Users API
- Anime Discovery: Random anime generator with detailed information display
- Responsive UI: Clean, intuitive interface built with Java Swing
- API Integration: Seamless connection with Jikan API for anime data retrieval
- Java JDK 11 or higher
- Internet connection for API functionality
- Launch the application
- Log in using the following credentials:
- Username:
emilys
- Password:
emilyspass
- Username:
- Click the "Random Anime" button to fetch and display a new anime title
- View details about the selected anime
Note: Additional test credentials can be found at DummyJSON Users API
AnimePicker is built using the following technologies:
- Java: Core programming language
- Swing: GUI framework for the user interface
- HttpClient: For making API requests
- Jackson: JSON parsing library for handling API responses
src/
├── main/
│ └── java/
│ └── org/animepicker/
│ ├── ui/
│ │ ├── LoginFrame.java
│ │ └── AnimeFrame.java
│ ├── service/
│ │ ├── AuthService.java
│ │ └── AnimeService.java
│ ├── model/
│ │ ├── User.java
│ │ └── Anime.java
│ └── Main.java
└── resources/
└── images/
├── logo.png
└── background.jpg
AnimePicker integrates with two primary APIs:
-
Jikan API - An unofficial MyAnimeList API
- Endpoint:
https://api.jikan.moe/v4/random/anime
- Used for retrieving random anime information
- Endpoint:
-
DummyJSON - A fake REST API for testing
- Endpoint:
https://dummyjson.com/users
- Used for simulating user authentication
- Endpoint:
Contributions are welcome! If you'd like to contribute to this project:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Jikan API for providing anime data
- DummyJSON for the test user authentication
- MyAnimeList as the source of anime information