https://github.com/colinbut/user-service
A microservice that provides user functionality
https://github.com/colinbut/user-service
activemq cassandra cassandra-driver docker docker-compose java jetty jetty-server microservice spring spring-framework spring-jms spring-web spring-web-mvc springframework
Last synced: 3 months ago
JSON representation
A microservice that provides user functionality
- Host: GitHub
- URL: https://github.com/colinbut/user-service
- Owner: colinbut
- Created: 2018-02-16T23:07:09.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-28T08:42:33.000Z (over 6 years ago)
- Last Synced: 2025-02-01T14:46:07.054Z (4 months ago)
- Topics: activemq, cassandra, cassandra-driver, docker, docker-compose, java, jetty, jetty-server, microservice, spring, spring-framework, spring-jms, spring-web, spring-web-mvc, springframework
- Language: Java
- Homepage:
- Size: 115 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# User Service
[](https://travis-ci.org/colinbut/user-service)
Microservice for user functionality.
Technologies:
+ Java 7
+ Spring Framework 4
+ Jetty
+ Datastax Cassandra Driver
+ Apache CassandraBuilt using Java with the Spring framework. It runs inside a Jetty server (a lightweight web container/server). Application connects to
Cassandra datastore (NoSQL)Below:

### Build
```bash
mvn clean install
```### Run locally
This method runs user-service locally in your own development machine with the use of a deployment facility in Docker.
__Pre-requisite set up__
User Service microservice depends on the Cassandra DataStore.
1. Download & Install Cassandra onto your machine
2. Run the init-db.cql setup script contents under `src/main/resources/db/scripts`Assuming the artifact is built from the Build section then do the following:
Go to Cassandra installed directory location and run the following script to start up Cassandra server.
```bash
./cassandra
```Lastly, run the microservice
```bash
java -jar target/user-service-1.0-SNAPSHOT-with-dependencies.jar
```### Deployment
*** Note - this section is still WIP
#### using Docker Compose
```bash
rm docker/user-service-1.0-SNAPSHOT-with-dependencies.jar
cp target/user-service-1.0-SNAPSHOT-with-dependencies.jar docker/
cd docker;
docker-compose up
```#### Bringing User Service + Cassandra DB up individually
Cassandra needs to be startup first as the microservice will try to connect to it on startup.
__Cassandra DB__
```bash
cd docker;
docker build -f dockerfiles/cassandra.db -t cassandra-db:1.0-SNAPSHOT .
docker run cassandra-db:1.0-SNAPSHOT
```__User Service__
```bash
rm docker/user-service-1.0-SNAPSHOT-with-dependencies.jar
cp target/user-service-1.0-SNAPSHOT-with-dependencies.jar docker/
cd docker;
docker build -f dockerfiles/userservice.app -t user-service:1.0-SNAPSHOT .
docker run user-service:1.0-SNAPSHOT
```then link the two containers together so the User Service microservice can talk to the Cassandra db.
```bash
docker run --link cassandra-db:1.0-SNAPSHOT --name user-service:1.0-SNAPSHOT -p 8080:8080 user-service:1.0-SNAPSHOT
```