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.
- Host: GitHub
- URL: https://github.com/normainobary2021/codealpha_issue_tracker_system
- Owner: normainobary2021
- License: mit
- Created: 2023-11-28T08:28:42.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-11-29T10:19:54.000Z (over 1 year ago)
- Last Synced: 2025-02-07T22:52:00.541Z (4 months ago)
- Language: JavaScript
- Homepage: https://prello-frontend.onrender.com
- Size: 953 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CodeAlpha_Issue_Tracker_System
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/)