# todo_web_server **Note:** todo web server is written based on Warp's example at [Todo](https://github.com/seanmonstar/warp/blob/master/examples/todos.rs); here, web pages are rendered to access todo data from its app-server. It renders web pages to access/add/modify/delete todo application data; uses handlebars templates, makes use of Reqwest client framework, and runs as a web server using WARP server framework. No database activities are handled here. # dependency A running [todo_app_server](https://github.com/mohankumaranna/todo_app_server) is required that supports RESTFul API calls such as GET, POST, PUT, DELETE. # Goals 1. To learn Rust, web application in particular. 2. To fetch data from todo app server using Reqwest framework. 3. To try out with Handlebars (as TERA was already tried out with other web app) 4. To make use of it as template for future projects. # How to use it 1. Clone or download this app from github. 2. Edit **Settings.toml** file to update ip address, app server's ip address, log folder name. 3. Build an executable file using **$cargo build --release** 4. Copy following files/folder into a separate folder, say "~/projects": a. _target_/_release_/_todo-web_ file b. _Settings.toml_ file c. _templates_ folder d. _todo_web.service_ file 5. Edit **todo_web.service** for folder names and follow instructions in it, to run this app as a service in linux. 6. Assuming an entry in _Settings.toml_ file for ip_address as 127.0.0.1:3040 and todo_app_server running at 127.0.0.1:3030, open up a web browser and enter url as http:://127.0.0.1:3040 7. A home page appears; click on View All Todos, to see list of Todos. 8. First time visit to Todos, may not have a list to show. Try with Add link; it brings up Add Todo page; try to fill-in and submit; now the added todo is listed; try to edit and then try to delete. In case of any problem in 'Delete' option with Chrome browser, try with Firefox browser. # Demo A demo application is running at the following address: [Todo-Web Demo](https://todo-web.eastgate.in) # License MIT