zc_messaging
zc_messaging copied to clipboard
ZC Messaging
This plugin handles messaging for both DM and Channels
Project Structure
This project is a monolith application. You will find three folders namely:
- backend
- frontend
- notifications
Depending on your track, you are to work in the folder that concerns you.
Setup
Backend
-
Fork this repository to have a copy of it in your own github account
-
Clone the forked repo to your PC, this gives you access to the repo locally
-
Install Python from https://www.python.org/downloads/ if you haven't
-
cd into the project folder
-
cd into the backend folder
-
Ensure a virtual environment has been created and activated by either using
-
For pipenv
pipenv shell #creates and activates a virtual environment
-
For venv
python -m venv venv # to create a virtualenv source venv/bin/activate # activate for linux venv\Scripts\activate # activate for windows
-
-
Run the startup.sh script to install dependencies and start up server by typing out this command on your terminal(Linux, Mac) or Git bash (Windows)
sh startup.sh venv # starts script to use virtualenv sh startup.sh pipenv # starts script to use pipenv
-
Server can also be manually started by using the following command
uvicorn main:app --reload
Frontend
- Fork this repository to have a copy of it in your own github account
- Clone the forked repo to your PC, this gives you access to the repo locally
- Install Node from https://nodejs.org/ if you haven't
- cd into the project folder
- cd into the frontend folder
-
yarn install
-
yarn setup
to setup app -
yarn setup:root
to setup SPA -
yarn setup:messaging
to setup React App -
yarn dev
to run apps simultaneously -
yarn dev:root
to run SPA -
yarn dev:messaging
to run React App -
yarn build
to build apps simultaneously -
yarn build:root
to build SPA -
yarn build:messaging
ro build React App -
yarn lint
to lint App -
yarn prettify
to run prettier
Notifications
See setup instructions
Technologies Used
- Backend: FastApi
- Frontend: React
- Notifications: Novu