Skip to content

Themarys24/screen-sounds-music

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎡 ScreenSounds Music App

A simple console-based Java application that allows users to register music, artists, songs, search songs by artist, and retrieve artist summaries from Wikipedia using an AI-powered API call.

πŸ“Œ Features

βœ… Register music artists with types: SOLO, DUO, BAND

βœ… Register songs with title, artist, and genre

βœ… List all registered songs

βœ… Search songs by artist

βœ… Fetch a Wikipedia summary about an artist using an external API

βœ… Uses Spring Boot, Spring Data JPA, and PostgreSQL


πŸ› οΈ Technologies

Java 17+

Spring Boot

Spring Data JPA

PostgreSQL

Hibernate

Wikipedia API (via HttpURLConnection)


🧩 Entities

🎀 Artist id (auto-generated)

name

type: SOLO, DUO, or BAND

musics: list of songs linked to the artist

🎢 Musics

id (auto-generated)

title

artist (many-to-one relationship)

gender


πŸ’» How It Works

When you run the application, a menu is displayed in the terminal:

*** Screen Sounds Musics ***
1 - Register artist
2 - Register song
3 - List songs
4 - Search songs by artist
5 - Search data about artist
9 - Exit
You can interactively add or retrieve data through this menu.


🌐 External API

Artist summaries are retrieved from the Wikipedia API in plain text format.

Example endpoint used:

(https://en.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&exintro&explaintext&titles={artistName})


πŸ§ͺ How to Run

Configure your database in application.properties:

spring.datasource.url=jdbc:postgresql://localhost/screensoundsdb  
spring.datasource.username=your_username  
spring.datasource.password=your_password  

Run PostgreSQL and create a database named screensoundsdb: CREATE DATABASE screensoundsdb;

Build and run the application:
./mvnw spring-boot:run

The interactive menu will be shown in the terminal.


πŸ“ Project Structure

β”œβ”€β”€ model/ β”‚ β”œβ”€β”€ Artist.java
β”‚ β”œβ”€β”€ Musics.java
β”‚ β”œβ”€β”€ ArtistType.java
β”‚ └── AI.java
β”œβ”€β”€ repository/
β”‚ β”œβ”€β”€ ArtistRepository.java
β”‚ β”œβ”€β”€ MusicsRepository.java
β”œβ”€β”€ service/
β”‚ └── ApiConsumption.java
β”œβ”€β”€ main/
β”‚ └── Main.java
β”œβ”€β”€ ScreenSoundsApplication.java
└── StartupRunner.java


🧠 AI Feature

The AI class uses the Wikipedia API to provide a brief summary of the artist entered by the user, giving contextual information and improving the app's experience.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages