Giter Site home page Giter Site logo

dovakiin0 / tmpro Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 710 KB

Task tracking and organizing made easy

Home Page: https://tmpro.ryuo.tech

JavaScript 0.55% HTML 0.28% CSS 0.05% TypeScript 70.97% Dockerfile 0.45% Shell 0.57% Handlebars 27.13%
deadline-manager task-manager task-prioritization

tmpro's Introduction

TMpro

Table of Contents

Introduction

TMpro is a Task priority and deadline tracker application that helps you organize your task and helps you track your deadline.

About

TMpro is developed with Nodejs and Reactjs. The technologies used are:

  • Nodejs
  • Reactjs
  • MongoDB
  • Expressjs
  • Nodemailer

Installation

Prerequisites

Before proceeding, make sure you have Nodejs and mongoDB installed in your local machine. (You can use Mongo atlas if you prefer).
Head over to server/ directory and open .env.example file and fill in the details. Then rename the file to .env. You can use Ethereal for dummy email.

Docker

Easiest way to run the application is by using docker compose utility. You must have docker installed in you local machine.
Go to root directory and run the command:

docker compose -f docker-compose-dev.yml up --build -d

Once done, the server runs at port 3030 and client runs at 3000.

Manual

To run the application manually. First head over to client/ and server/ and run

npm install
npm run dev

on both directories. The server will run on port 3030 and client runs at 3000.

Production

The current Production build is accessible on https://tmpro.ryuo.tech

You can use docker compose in your production environment to deploy your application. TMpro also provides you with CI/CD github action workflows.
All you need to do is pull the application on your server and create a .env.production file on the root directory, where docker-compose.yml is, and fill in the details. Then run

docker-compose up --build -d

The default port for server is 5001 and client is 5000. You can change that as you see fit.

Testing

Tests are done with the help of jest. Create a .env.test inside server/ directory and fill in the environment details same as for development. You need to run mongo locally or put atlas url in env file.
Once done, run the command

npm test

and it will run all the test.
Alternately, if you have docker installed, you can use run-test.sh in root directory. Just run

sh run-test-sh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.