An open API service indexing awesome lists of open source software.

https://github.com/khayyamsaleem/client-connect

Client Connect: a platform that connects clients with nearby freelancers
https://github.com/khayyamsaleem/client-connect

express mongodb mongoose nextjs nodemon react redis semantic-ui-react socket-io winston-logger yarn

Last synced: about 2 months ago
JSON representation

Client Connect: a platform that connects clients with nearby freelancers

Awesome Lists containing this project

README

        

#+TITLE: CS554 Final Project: Client Connect
#+OPTIONS: toc:nil num:nil
#+STARTUP: showall

#+html:

* Group Members
- Khayyam Saleem, Michael Iacona, Maxwell Melo, Annie Topoleski

* [[https://www.youtube.com/watch?v=xrswrNRgohs][Demo Video]]

* Getting Started
** Setup
*** With Docker (easy)
- Ensure you have docker installed:
- macOS: ~brew cask install docker~, then run ~Docker.app~ from ~Applications folder~
- Linux:
#+BEGIN_SRC bash
curl -fsSL https://get.docker.com/ | sh
sudo usermod -aG docker $USER
sudo systemctl start docker
#+END_SRC
- Windows: Find a tutorial somewhere...
- Clone the repository:
#+BEGIN_SRC bash
git clone https://github.com/khayyamsaleem/cs554-final-proj
cd cs554-final-proj
#+END_SRC
- Create a .env file. For non-prod environments, you can just rename ~.env.sample~ to ~.env~ to get started.
- In .env, change ~MONGO_URL_TEST~ to "mongodb://mongo:27017/clientconnect"
- Run
#+BEGIN_SRC bash
git checkout -b feature/ # e.g feature/chat-client
docker-compose up --build
#+END_SRC
*** Without Docker (annoying)
- Clone the repository as above.
- Create a .env file. For non-prod environments, you can just rename ~.env.sample~ to ~.env~ to get started.
- Ensure that you have ~yarn~, ~nodemon~, ~redis-server~, and ~mongod~ installed on your machine.
- In a separate terminal, start a mongo server (~mongod~)
- In a separate terminal, start a redis server (~redis-server~)
- In a separate terminal, run these commands:
#+BEGIN_SRC bash
git checkout -b feature/ # e.g. feature/chat-client
yarn install
yarn dev:start
#+END_SRC
** Contributing
- Take a look at the [[https://github.com/khayyamsaleem/Client-Connect/blob/master/docs/contribution.org][contribution tutorial]].

* Stack
- mongo, express, react (Next.js), node *(MERN)*
- socket.io for messaging
- redis for chat caching
- mongoose for schema definition
- Semantic UI for rendering
- winston for logging