Skip to content

krkartick/MessageBoardServer

Repository files navigation

Message Board Project Description


Detailed steps to RUN and test this project available in following file


https://github.com/krkartick/MessageBoardServer/blob/master/README_To_Test.txt


Features of MessageBoardServerv1

POST uri:/<Topic>                   = Creates a <Topic>

POST uri:/<Topic> body <Message> = Posts a message on the <Topic>

GET  uri:/<Topic>                   = Retrieves all posts on the <Topic>

DELETE uri:/<Topic>                 = Deletes the <Topic>


Features of MessageBoardServerv2

<All the features in MessageBoardServerv1>

+ Support concurrent HTTP POST using GoLang concurrency framework

+ Creates upto 1000 workers for concurrent processing 


Check the WIKI Page for comparision on HTTP Performance


Project details:

Language Used  : GoLang

Deployment      : Docker Container

Database          : MySQL

Client               : Any REST API client.  

                         Examples: Restlet Client - Chrome Extension

                                         RESTful Stress - Chrome Extension - For performance Testing 


Configuration

- MySQL Database available on IP address mentioned in file <RunDockerApp.sh>

- MySQL Schema and Table created as per <MySQL_DB_Structure.sql>


Prepare MessageBoardServer Application

 - Compile the application using <MyBuild.sh>

- Update the MySQL DB IP address in <RunDockerApp.sh>

- Run the docker image using <RunDockerApp.sh>

Now, using the REST Api clients, Messages can be posted 

Environment Details

Operating System:

kartick@KartickUbuntu:~$ cat /etc/*release*

DISTRIB_ID=Ubuntu

DISTRIB_RELEASE=16.04

DISTRIB_CODENAME=xenial

DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"

NAME="Ubuntu"

VERSION="16.04.3 LTS (Xenial Xerus)"

ID=ubuntuID_

LIKE=debian

PRETTY_NAME="Ubuntu 16.04.3 LTS"

VERSION_ID="16.04"

HOME_URL="http://www.ubuntu.com/"

SUPPORT_URL="http://help.ubuntu.com/"

BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

VERSION_CODENAME=xenial

UBUNTU_CODENAME=xenial

Docker Environment

kartick@KartickUbuntu:~$ docker version

Client: Version:      17.06.1-ce 

API version:  1.30 

Go version:   go1.8.3 

Git commit:   874a737 

Built:        Thu Aug 17 22:51:12 2017 

OS/Arch:      linux/amd64

Server: Version:      17.06.1-ce 

API version:  1.30 (minimum version 1.12) 

Go version:   go1.8.3 

Git commit:   874a737 

Built:        Thu Aug 17 22:50:04 2017 

OS/Arch:      linux/amd64 

Experimental: false


MySQL:

kartick@KartickUbuntu:~$ mysql --version

mysql  Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using  EditLine wrapper

Useful References:

http://releases.ubuntu.com/16.04/  - Ubuntu 16.04.3 LTS (Xenial Xerus)

https://www.tecmint.com/network-between-guest-vm-and-host-virtualbox/ - How to Configure Network Between Guest VM and Host in Oracle VirtualBox

http://www.dasblinkenlichten.com/docker-networking-101/ - Das Blinken Lichten · Docker Networking 101 – The defaults

https://divan.github.io/posts/integration_testing/ - Integration testing in Go using Docker · divan's blog

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors