This commit is contained in:
AndrewTrieu
2023-03-11 17:54:51 +02:00
commit 2353eec18f
4 changed files with 239 additions and 0 deletions

45
README.md Normal file
View File

@@ -0,0 +1,45 @@
# Note-Taking Application with XML-RPC
This is a simple note-taking application that allows users to add notes to different topics and retrieve them later. The application uses XML-RPC to communicate between the client and server.
## Getting Started
To use the application, you need to run the `server.py` script first. This starts the XML-RPC server on `localhost:7777`. Once the server is running, you can start the client by running the `client.py` script. The client will prompt you to choose an option:
1. Add note
2. Get notes
3. Quit
## Adding a Note
To add a note, choose option 1 and enter the topic, note name, note text, and optionally a link to a Wikipedia page related to the topic. If the topic already exists, the note will be added to it. Otherwise, a new topic will be created and the note added to it. If a Wikipedia link is added, it will be stored along with the note in the database.
## Getting Notes
To get notes, choose option 2 and enter the topic. The application will retrieve all the notes for the topic and display them on the console. If a Wikipedia link was added to a note, it will be displayed along with the note.
## Quitting
To quit the application, choose option 3.
## Demonstration
This video is recorded for the course CT30A3401 Distributed Systems at LUT University, Finland.
## File Structure
`client.py`: The client script that communicates with the server.
`server.py`: The server script that handles the XML-RPC server and database operations.
`db.xml`: The XML file that stores the notes and topics data.
## Dependencies
`xmlrpc.client`: Required for client-server communication using XML-RPC.
`xmlrpc.server`: Required for server-side XML-RPC implementation.
`requests`: Required for making HTTP requests to retrieve data from Wikipedia API.
`datetime`: Required for generating timestamps for notes.