Skip to content

SamNzo/Bug-tracker-VariaMos

Repository files navigation

VariaMos Bug Tracker | PERN-TypeScript

Bug tracking app made with PERN + TS

This bug tracker is a modified version of the open source one made by amand33p

Built using

Front-end

Back-end

  • Node.js - Runtime environment for JS
  • Express.js - Node.js framework, makes process of building APIs easier & faster
  • PostgreSQL - Opens-source SQL database to store data
  • TypeORM - TS-based ORM for mostly SQL-based databases
  • JSON Web Token - A standard to secure/authenticate HTTP requests
  • Bcrypt.js - For hashing passwords
  • Crypto - For generating random passwords
  • Nodemailer - For email notifications
  • Dotenv - To load environment variables from a .env file
  • Multer - For file (image/gif/video/JSON) storage
  • ReCAPTCHA - Library to distinguish humans and automated access to websites
  • Node Fetch - For making API Requests

Features

  • Synchronization with Github Issues through REST API (issues, assignments, comments)
  • Authentication (login/register w/ username, password & optional email adress)
  • CRUD bugs, with title, description, priority, category & optional file (image, gif, video, JSON)
  • Email notifications (can be turned off)
  • Anyone can add a bug and leave notes
  • Users can create an account to receive email notifications
  • Admins can add/remove other admins, delete, close, update, assign bugs, download JSON files associated to them and link the tracker to their Github account
  • ReCAPTCHA test to access the admin invite verification page
  • Sort bugs by various parameters like priority, recently closed etc.
  • Filter bugs by name/title/assignments & other parameters
  • CRUD notes, for guiding other members with possibility to reply
  • Descriptive color indicators for bug priority & status
  • Error management with descriptive messages
  • Toast notifications for actions: creating projects, removing membes etc.
  • Loading spinners for fetching processes
  • Dark mode toggle w/ local storage save
  • Proper responsive UI for all screens

Usage

VariaMos deployment

If you are a VariaMos developer you'll want to read the AdminREADME file.

Env variable

Create a .env file in server directory and add the following:

PORT = 3005

Client

Open client/src/backendUrl.js & change "backend" variable to "http://localhost:3005"

Run client development server:

cd client
npm install
npm start

Server

Open ormconfig.js & update the local PostgreSQL credentials to match with yours.

To compile the project, go to server dir & run this command: npx tsc --project .\tsconfig.json

To run the migrations, go to server dir & run this command: npm run typeorm migration:run

To clear the database, go to server dir & run this command: npm run typeorm schema:drop

Run backend development server:

cd server
npm install
npm run dev

Docker

If you need to use Docker, do the following:

To build the container, run this command in the root directory: docker-compose build

To run it, run this command: docker-compose up

Documentation

You can find more documentation on the wiki.

VariaMos online

Here you can check the VariaMos application and website.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •