/todo-restapi

RESTful backend for basic todo app

Primary LanguageJava

Author: Saurabh Talbar

Todo Application Rest API:

This project intends to demonstrate basic CRUD operations as per the RESTful standards.
The source code is built using Apache Maven.
Technologies used in this project:
# Java
# Jersey 2.2
# MongoDB 2.4.6
# Morphia 0.104
# Grizzly 2
# Maven 2.5.1
# ElasticSearch 1.1.0
# io.searchbox Jest 0.1.0
# Jersey-JSON 1.18
# Twilio Java SDK - 3.4.1

Check the pom.xml file for all the Maven repo details

Steps/Notes to execute the code:
1. Make sure Maven is installed
2. Start mongo daemon using mongod
3. Start elasticsearch daemon using, bin/elasticsearch
4. cd <path-to-project-dir>
5. mvn clean test
6. mvn exec:java >> Now this will start your todo backend service at 
	htttp://localhost:9998/todo/

7. To add items to our todo-app run e.g.: 
	curl -i -X POST -H "Content-Type:application/json" -d \
	'{"title" : "home","body" : "home sweet home","done":true}' \
	http://localhost:9998/todo/items/

8. To delete this item: 
	curl -i -X DELETE -H "Content-Type:application/json" \
	http://localhost:9998/todo/items/home

9. You can play around and add more items to app, they will be automatically 
	indexed in our local elasticsearch cluster.

10. To search for an item, run: 
	
	curl -i -X POST -H "Content-Type:application/json" -d \
	'{"title" : "homework","body" : "tomorrow","done":false}' \
	http://localhost:9998/todo/items/search
	
	This will return the items matching with title "homework"

11. For better productivity and simplicity, you can install POSTMAN plugin from Chrome's webstore and use it to make
	REST API requests

Update: When a task will be marked as Done, a SMS will be sent to the destination number.
You need to provide the destination number & source number for this feature to work in the TwilioTest class.