Skip to content

Brave-squirrels/CodersCamp2020.FinalProject.ManagementSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ManagmentSystem by BraveSquirrels

Table of Contents

General Info


We are proudly announcing, that we have ofiicialy completed our ManagmentSystem project. Perhaps as a developer you do know what managment systems are, as they are an integral part of programmers every day job.

Create your own team, assign roles for the team members and create different projects all in one place!

Check it out on youtube!

ManagmentSystem by BraveSquirrels

If you don't want to run our project locally, you do not have to read anything more, be our guest, and visit our site!

Technologies


Project is created with:

  • TypeScript
  • Node.js
  • Express.js
  • Jest
  • React
  • Redux
  • Redux-Thunk
  • MongoDB
  • Cypress

Requirements


To be able to run our project locally, you need to have installed yarn package manager If you do not know if you have it installed on your computer and you still want to run our project follow these steps:

Windows command prompt/Linux bash

Run npm -v
  • If you received a number like 'x.x.x' you already have installed npm package manager *on your computer and you can follow the next part, which is installing yarn
  • Otherwise, you will have to install it, the best way to do it is installing it globaly by running the command npm install npm@latest -g
  • After that you can run again the command from the first line just to confirm that you have succesfully installed required package manager
Install yarn
  • To install yarn package manager (faster vesrion of npm) run the commnad npm install --global yarn
  • confirm yarn install by tpying command yarn --version

Setup


DataBase

  • To run the project locally you will have to create your own MongoDB Atlas account, and have your own cluster/db created here

To run the project locally follow these steps:

  • Clone this repository
  • Open repository in your code editor
  • Run command yarn dev:i
  • Create .env file within the server catalog, this file should contain important information which lack of will cause fatal errors.

    this is the data that you should add into .env file:

    MONGO_USER=<you user name>
    MONGO_PASSWORD=<your user password>
    MONGO_DB_NAME=<your db name>
    PORT=5000 < Leave it like that!
    ADDRESS=localhost < Leave it like that!
    JWT_PRIVATE_KEY=<some random password>
    EMAIL=<your email>
    PASSWORD=<your email's password>

    (PS your email must be an yahoo email, it's complicated, trust me... If you do not however, don't mind visiting this site )

    If you would like to run tests, you will need to add additional line to your .env file, which should contain:

    NODE_ENV=test

    Keep in mind that the app will not work when this line is added, it only allows you to run tests.

  • Run command yarn start
  • For backend tests, move into /Server catalog and run either yarn test or yarn test:c for tests with coverage!
  • If you would like to test frontend, in main directory run command yarn test:o

  • Enter the local host that was created which should be at http://localhost:3000/
  • You can now use our fully functional application!*

Documentation

(You can see every single endpoint in rest.http file, here are some most important examples)

REGISTRATION

  • POST http://localhost:5000/users/create HTTP/1.1
    Content-Type: application/json
    {
             "name": "sampleName",
             "email": "[email protected]",
             "password": "samplePass",
             "confirmPassword": "samplePass"
    }

LOGIN (getting token in request!)

GET USER INFO

CREATE TEAM

  • POST http://localhost:5000/teams HTTP/1.1
    x-auth-token: <your token>
    content-type: application/json
    {
             "teamName": "sample team"
    }

GET TEAM INFO

CREATE PROJECT

  • POST http://localhost:5000/teams/teamId/projects HTTP/1.1
    x-auth-token: <your token>
    content-type: application/json
    {
             "projectName": "sample project",
             "deadline" : "2021-03-24T17:06:34.928+00:00"
    }

GET PROJECT INFO

CREATE TASK

CREATE NOTE

  • POST http://localhost:5000/teams/teamId/projects/projectId/notes HTTP/1.1
    x-auth-token: <your token>
    content-type: application/json
    {
            "content": "Note description",
            "name": "Test Note",
            "author": {"name": "Maciek", "id": "604f7b21c633a147b03b1f5d"}
    }

CREATE COMMENTS