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

https://github.com/normainobary2021/codealpha_issue_tracker_system

A web-based issue tracker for project management. Users can create, assign, and update issues, set priorities, and attach files. It also includes user roles and permission implementation.
https://github.com/normainobary2021/codealpha_issue_tracker_system

Last synced: 2 months ago
JSON representation

A web-based issue tracker for project management. Users can create, assign, and update issues, set priorities, and attach files. It also includes user roles and permission implementation.

Awesome Lists containing this project

README

        

# CodeAlpha_Issue_Tracker_System





Prello

Issue and Project Tracking System (DEMO)


Use Prello! Tracking system that allows team members to collaborate, discuss and manage projects effectively




## ✨ Features

- Team management
- Project management
- Ticket management
- User assignment
- Project statistics
- Advanced searching
- Commenting
- Role based organization (Create custom permissions)
- Custom field creation
- Attachments (Not done yet)
- Change tracker (Not done yet)

## 🛠️Technologies

| **Front-end** |


NextJs

|


Chakra UI

|


Axios

|


Zustand

|
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Back-end** |


NodeJs

|


ExpressJS

|


MongoDB

|


Jest

|

## 🚀 Quick start

Start developing locally.

### Step 1: Download Node.js and MongoDB

Download: [MongoDB](https://www.mongodb.com/try/download/community)
Download: [Node.js - 18.14.0](https://nodejs.org/en/)

### Step 2: Clone the repo

Fork the repository then clone it locally by doing

```sh
git clone https://github.com/normainobary2021/CodeAlpha_Issue_Tracker_System.git
```

### Step 2: Install Dependencies

cd into the client and server directory, and install the dependencies

```sh
cd client & npm install
```

```sh
cd server & npm install
```

### Step 3: Setup .env

To run the server, you will need the `.env` variables

Rename [.env.EXAMPLE](./server/.env.EXAMPLE) file to **.env**

### Step 4: Seed database

Execute the following command to seed the database

```sh
npm run seed
```

##### Login Info

| Email | Password | Role | Permissions |
| ----------------------------------- | -------- | --------- | ---------------------------------- |
| [email protected] | password | Admin | Manage admin page/projects/tickets |
| [email protected] | password | Developer | Manage projects/tickets |
| [email protected] | password| Submitter | Manage tickets |

#### You are all setup!

Run client application

```sh
npm run dev
```

Run server application

```sh
npm run start
```

**Setup Issue?**
Create an issue in this repository

### Give a ⭐, if you liked the project

## 📸 Screenshots


Login


Log into the application with your credentials. If you don't have an account, click Sign Up to create a new account. Once you have logged in, you will be directed to projects page




View All Projects


You will find all the projects you have created or belong to. You can also search and sort the projects. Click on Add Project to create new project


If your permissions doesn't allow you to manage project, "Add Project" will not be displayed


Add Project


Enter your project information here (Title and description)




Add Project (Contributor)


Select all the project contributors. You will also see what type of role the user belong to.




View Project Info


Once you have created your project, you will see all your project tickets (intially none). You create new tickets, view project info and edit exisiting ticket.


If your permissions doesn't allow you to manage tickets, "Add Ticket" will not be displayed


Project Overview


Click on Overview to see the project statistics




View Ticket Info


Click on the existing ticket, you can edit the ticket info, add comment or update the ticket assignee


If your permission doesn't allow you to manage tickets, all the fields, comments, assigness will be disabled


View Ticket Comments


Click on comments tab, you will see all the ticket comments and you can also comment on it.


If your permission doesn't allow you to manage comments, you will not be able to comment


My Tickets


Click on Tickets tab to see all your tickets regarless of what project it belongs to. Clicking on the ticket will allow you to edit it




Admin - Manage Users


Click on Admin to manage the organization (Users, Roles, Custom Ticket Type)


Click on Manage User to manage all the users and their roles. Clicking on the user will allow you to update their role


This tab will only be displayed if you are the admin


Admin - Manage Roles


Manage Roles tab will display all the roles and their respective permissions. To create custom role, click on Add New Role




Admin - Manage Roles (Add)


You can create your custom role by giving a role name and selecting the types of allowed actions




Admin - Manage Ticket Types


You will see all the ticket types here. There are some pre-defined ticket types (Feature, Bug, Documentation, Support), but you may create custom ticket types by clicking on Add New Ticket Type




Admin - Manage Ticket Types (Add)


Create custom ticket type by giving ticket type name, selecting an icon, and the icon colour



## Author

- Github: [@normainobary2021](https://github.com/normainobary2021)
- Portfolio: [norman-ainobushoborozi.vercel.app](https://norman-ainobushoborozi.vercel.app/)
- LinkedIn: [@norman-ainobushoborozi](https://www.linkedin.com/in/norman-ainobushoborozi/)