Table of Contents
About
It is a chat server that allows users to communicate with each other in real time. The chat server follows the principles of domain-driven design (DDD), which is a software development approach that focuses on modeling the business domain and its rules. The project uses the concepts and techniques from the book Go With The Domain. The project is a practical exercise that helps me learn and apply DDD and Go in a realistic scenario.
Built With
Go
Getting Started
Prerequisites
Go
Postgres
NSQ
Installation
After installing the prerequisites define the following environment variables
-
DEBUG
-
PORT
-
CORS_ALLOWED_ORIGINS
-
SECRET_KEY
-
DB_HOST
-
DB_PORT
-
DB_USER
-
DB_NAME
-
DB_PASSWORD
-
NSQ_ADDRESS
-
NSQ_LOOKUP_ADDRESS
-
ENVIRONMENT
Run the server. A set of default data is preloaded. There is no administrative tool for initial set up yet. Could be a great feature 💡
Usage
The project has an Open API specification that defines the APIs and how to use them
Roadmap
See the open issues for a list of proposed features (and known issues).
Support
Reach out to the maintainer at one of the following places:
Project assistance
If you want to say thank you or/and support active development of Semezana:
- Add a GitHub Star to the project.
- Tweet about the Semezana.
- Write interesting articles about the project on Dev.to, Medium or your personal blog.
Together, we can make Semezana better!
Contributing
First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.
Please read our contribution guidelines, and thank you for being involved!
Authors & contributors
The original setup of this repository is by Charles Muchogo.
For a full list of all authors and contributors, see the contributors page.
License
This project is licensed under the MIT license.
See LICENSE for more information.