diff --git a/README.md b/README.md
index dc1251a..1f5edb6 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,54 @@
# Pandamonium Theorem Prover
-This is the main repository for the Technical Software Project
+This project contains several different modules for different parts of the system.
+
+* [persistence](persistence/README.md)
+* [web-server](src/README.md)
+
+## Getting Started
+
+1. Clone the project. `git clone git@github.com:atusa17/tsp.git`
+2. Open the `pandamonium-theorem-prover` folder with IntelliJ. Use auto-import for a Gradle project.
+3. Individual Components have their own README. Continue there.
+
+## Running the Tests
+
+This project is unit tested with JUnit and Mockito. You can run the unit tests with IntelliJ or Gradle. To run them with IntelliJ, browse to any `*Test.java` file and use IntelliJ's built-in test runner to run or debug the test. To run all the unit tests with Gradle:
+
+* On a Linux or Macintosh machine:
+
+ ```$ ./gradlew test```
+
+* On a Windows machine:
+
+ ```$ gradlew.bat test```
+
+You can also test modules individually:
+
+* On a Linux or Macintosh machine:
+
+ ```$ ./gradlew persistence:test```
+
+* On a Windows machine:
+
+ ```$ gradlew.bat persistence:test```
+
+## Integration Tests
+
+To run the integration tests with IntelliJ, browse to any `*Test.java` file residing in any module name `integrationTest` and use IntelliJ's built-in test runner to run or debug the test. To run all the integration tests with Gradle:
+
+* On a Linux or Macintosh machine:
+
+ ```$ ./gradlew integrationTest```
+
+* On a Windows machine
+
+ ```$ gradlew.bat integrationTest```
+
+## Built with
+
+* [Spring Boot](https://projects.spring.io/spring-boot/) - Web framework
+* [Spring Web Flow](https://projects.spring.io/spring-webflow/) - MVC framework
+* [Gradle](https://gradle.org/) - Dependency management
+* [JUnit](http://junit.org/junit4/) - Unit tests
+* [Mockito](http://site.mockito.org/) - Mock objects library
+* [Lombok](https://projectlombok.org/) - Boilerplate Code Generator
diff --git a/persistence/README.md b/persistence/README.md
new file mode 100644
index 0000000..4258ce9
--- /dev/null
+++ b/persistence/README.md
@@ -0,0 +1,61 @@
+## PTP Persistence API
+
+The PTP Persistence API is the web API for accessing the theorems database.
+
+
+
+## Running from IntelliJ
+
+* Create a new run configuration in IntelliJ.
+
+ ```
+ Name: "PTP Persistence API Tomcat"
+ Application Server: Tomcat (8.5.12)
+ HTTP Port: 8090
+ JMX Port: 1090
+ Deployment tabe: Deploy persistence-api.war (exploded)
+ ```
+## Running the Tests
+
+This project is unit tested with JUnit and Mockito. You can run the unit tests with IntelliJ or Gradle. To run them with IntelliJ, browse to any `*Test.java` file and use IntelliJ's built-in test runner to run or debug the test. To run all the unit tests with Gradle:
+
+* On a Linux or Macintosh machine:
+
+ ```$ ./gradlew test```
+
+* On a Windows machine:
+
+ ```$ gradlew.bat test```
+
+You can also test modules individually:
+
+* On a Linux or Macintosh machine:
+
+ ```$ ./gradlew persistence:test```
+
+* On a Windows machine:
+
+ ```$ gradlew.bat persistence:test```
+
+## Integration Tests
+
+To run the integration tests with IntelliJ, browse to any `*Test.java` file residing in any module name `integrationTest` and use IntelliJ's built-in test runner to run or debug the test. To run all the integration tests with Gradle:
+
+* On a Linux or Macintosh machine:
+
+ ```$ ./gradlew integrationTest```
+
+* On a Windows machine
+
+ ```$ gradlew.bat integrationTest```
+
+## Built with
+
+* [Spring Boot](https://projects.spring.io/spring-boot/) - Web framework
+* [Spring Web Flow](https://projects.spring.io/spring-webflow/) - MVC framework
+* [Spring Data](https://spring.io/projects/spring-data/) - Persistence framework
+* [Gradle](https://gradle.org/) - Dependency management
+* [JUnit](http://junit.org/junit4/) - Unit tests
+* [Mockito](http://site.mockito.org/) - Mock objects library
+* [Lombok](https://projectlombok.org/) - Boilerplate Code Generator
+* [Hibernate ORM](http://hibernate.org/orm/) - Object/Relational Mapping
diff --git a/src/README.md b/src/README.md
new file mode 100644
index 0000000..6ee4af6
--- /dev/null
+++ b/src/README.md
@@ -0,0 +1,58 @@
+## PTP Persistence API
+
+The PTP Persistence API is the web API for accessing the theorems database.
+
+
+
+## Running from IntelliJ
+
+* Create a new run configuration in IntelliJ.
+
+ ```
+ Name: "Pandamonium Theorem Prover Tomcat"
+ Application Server: Tomcat (8.5.12)
+ HTTP Port: 8080
+ JMX Port: 1080
+ Deployment tabe: Deploy pandamonium-theorem-prover.war (exploded)
+ ```
+## Running the Tests
+
+This project is unit tested with JUnit and Mockito. You can run the unit tests with IntelliJ or Gradle. To run them with IntelliJ, browse to any `*Test.java` file and use IntelliJ's built-in test runner to run or debug the test. To run all the unit tests with Gradle:
+
+* On a Linux or Macintosh machine:
+
+ ```$ ./gradlew test```
+
+* On a Windows machine:
+
+ ```$ gradlew.bat test```
+
+You can also test modules individually:
+
+* On a Linux or Macintosh machine:
+
+ ```$ ./gradlew persistence:test```
+
+* On a Windows machine:
+
+ ```$ gradlew.bat persistence:test```
+
+## Integration Tests
+
+To run the integration tests with IntelliJ, browse to any `*Test.java` file residing in any module name `integrationTest` and use IntelliJ's built-in test runner to run or debug the test. To run all the integration tests with Gradle:
+
+* On a Linux or Macintosh machine:
+
+ ```$ ./gradlew integrationTest```
+
+* On a Windows machine
+
+ ```$ gradlew.bat integrationTest```
+
+## Built with
+
+* [Spring Boot](https://projects.spring.io/spring-boot/) - Web framework
+* [Gradle](https://gradle.org/) - Dependency management
+* [JUnit](http://junit.org/junit4/) - Unit tests
+* [Mockito](http://site.mockito.org/) - Mock objects library
+* [Lombok](https://projectlombok.org/) - Boilerplate Code Generator