/Skyapp

A simple chat system

Primary LanguageTypeScriptMIT LicenseMIT

Skyapp

A simple chat system.

Requirements

  • Node JS
  • Java
  • Maven
  • Mongodb
    • Here you could install mongo locally on your machine, use docker or even use an online option, like the one provided by mongodb itself
  • Yarn

How to use

  1. Make sure you have fulfilled all requirements

  2. Clone the repository

git clone https://github.com/nogenem/Skyapp.git
  1. Install all dependencies
cd Skyapp
yarn install
cd client-react
yarn install
cd ../server-node
yarn install
cd ../server-spring
./mvnw clean install
cd ..
  1. Make a copy of the file .env.BASE and rename it to .env
cp ./client-react/.env.BASE ./client-react/.env
cp ./server-node/.env.BASE ./server-node/.env
cp ./server-spring/src/main/resources/.env.BASE ./server-spring/src/main/resources/.env
cp ./server-spring/src/test/resources/.env.BASE ./server-spring/src/test/resources/.env
  1. Edit the content of client-react/.env, if necessary, can leave like that in development

  2. Edit the content of server-node/.env

  • MONGO_URI comes from mongodb
    • It can be a local url mongodb://localhost:27017/skyapp or an online url mongodb+srv://<username>:<password>@<cluster>.mongodb.net/skyapp
  • JWT_SECRET can be anything
  • EMAIL_* can be a real email or the data got from services like mailtrap
  • PORT is optional and the default is 5000
  • DEBUG is optional
  1. Edit the content of server-spring/src/main/resources/.env and server-spring/src/test/resources/.env
  • MONGO_URI comes from mongodb
    • It can be a local url mongodb://localhost:27017/skyapp or an online url mongodb+srv://<username>:<password>@<cluster>.mongodb.net/skyapp
  • MONGO_DBNAME Name of the database, can leave the default one
  • MONGO_PORT Port to be used by Mongodb, its only used while doing tests
  • JWT_SECRET can be anything
  • EMAIL_ can be a real email or the data got from services like mailtrap
  • PORT is optional and the default is 5000
  1. Start the script to choose which client/server to use
yarn start

Commit messages

I decided to use p01~XX as alias to the subprojects names in the commit messages to standardize the size of the prefix, instead of using things like react: ... or node: .... For reference, these are all the aliases:

  • p01 = react
  • p02 = node
  • p03 = spring
  • ...

Some images from the client-react

Sign in

Sign in

Chat

Chat

Preview files before sending

Preview files before sending

Create a group modal

Create a group modal