Welcome to the Hymns CLI App! This application allows users to seamlessly interact with a command-line interface built with Click. The app features three main models classes: Hymn, Author, and Key.
- Hymn: It has a number, title, lyrics, the name of the author and the key.
- Author: An author can have many hymns which is a one to many relationship.
- Key: Each key can have many hymns which also a one to many relationship.
- Create a new hymn: The user is required to enter the hymn number, title, lyrics, author and key. A confirmation message will be displayed upon successful addition.
- Update an existing hymn: The user may need to modify the details of an existing hymn.
- List all hymns: View a list of hymns in the app.
- Delete a hymn: When the user wants to remove a hymn using its Id.
- View hymn lyrics: When the user wants to view the lyrics of a particular hymn he/she will be required to enter the hymn id.
- Retrieve hymns by key: The user may need to know which hymns share the same key he/she will select this option and will be required to enter the key.
- List of hymns by author: view hymns that are composed by an author. The user is able to get a list of hymns by a specific Author.
- Exit: When the user is done and wants to leave he/she should select option 8 and you'll be able to exit with a goodbye message.
- Fork the repository: https://github.com/ErickGichuki/CLI-hymns-app to get a copy remotely.
- Clone the respository: Open your terminal, navigate to the desired folder, and run
git clone <SSH Key>
. - Navigate to the cloned folder: You'll change the directory by running
cd <cloned folder>
. - Open the folder in VSCode: Run
code .
. - Install dependencies: Run
pipenv install
to install the dependencies and thenpipenv shell
to enter to a virtual environment where you'll be working from. - Install Click Library: Run
pip install click
. - SQLAlchemy: For sqlalchemy you have to run
pip install SQLAlchemy
.
- Python 3
- SQL
- So far there are no bugs that have been detected.
- If you happen to come across any bug kindly don't hesitate reaching out to me [email protected]
Copyright © 2024 All rights reserved.