A full-stack application for tracking issues, built with Node.js, Express, SQLite, React, and TypeScript.
- Overview
- Features
- Technologies
- Getting Started
- API Documentation
- Client Usage
- Testing
- Contributing
- License
- Contact
This project is a simple Issue Tracker that allows users to manage issues with basic CRUD (Create, Read, Update, Delete) operations. It includes a RESTful API built with Node.js and Express, and a client-side application built with React and TypeScript.
- Create issues with a title and description.
- Read issues from the database.
- Update issue titles and descriptions inline.
- Delete issues.
- Real-time updates to the UI after editing issues.
- Mandatory fields for issue title and description.
- Responsive design.
- Node.js
- Express.js
- TypeScript
- React
- TypeScript
- CSS (for styling)
Ensure you have the following installed:
Clone the repository:
git clone https://github.com/kambereBr/issue-tracker.git
cd issue-tracker
- Navigate to the api directory:
cd api
- Install dependencies:
npm install
- Start the server:
npx ts-node src/index.ts
The server should now be running at http://localhost:4000
- Open a new terminal window and navigate to the
client
directory:
cd client
- Install dependencies:
npm install
- Start the React development server:
npm start
The client should now be running at http://localhost:3000
- GET
/issues
- Retrieve all issues. - POST
/issues
- Create a new issue. - PUT
/issues/:id
- Update an existing issue. - DELETE
/issues/:id
- Delete an issue
- Get All Issues
curl -X GET http://localhost:4000/issues
- Create a New Issue
curl -X POST http://localhost:4000/issues \
-H "Content-Type: application/json" \
-d '{"title": "New Issue", "description": "Issue description"}'
- Update an Issue
curl -X PUT http://localhost:4000/issues/1 \
-H "Content-Type: application/json" \
-d '{"title": "Updated Issue", "description": "Updated description"}'
- Delete an Issue
curl -X DELETE http://localhost:4000/issues/1
The client-side application allows users to interact with the Issue Tracker visually. Add a New Issue
, Edit an Issue
, and Delete an Issue
The backend includes unit tests for the API endpoints. To run the tests:
- Ensure you are in the
api
directory:
cd api
- Run the tests:
npx jest
Contributions are welcome! If you'd like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcomed.
This project is MIT licensed.
- GitHub: @kambereBr
- Twitter: @kambereBr
- LinkedIn: bruno kambere