This documentation provides a guide for building a simple team management system in an organization. It includes features for listing, adding, editing and deleting team member details.
Experience the live version of the Team Member Management App:
The Team Member Management App is a web-based application designed to manage details of team members, including their first and last names, phone numbers, emails, and roles. Utilizing SQL for its backend operations, the app ensures efficient data processing and storage. Complementing this is a user-friendly frontend web interface, designed to facilitate easy addition, editing, deleting and listing of team member details.
- A GitHub repository to host the project.
- Add reshavsingla as a collaborator.
- Create proper documentation for building and testing the project.
- Utilize React for building the user interface.
- Use backend technology.
- React
- JavaScript
- React Router
- React Toastify
- PostgreSQL
- Node.js
- Express
- Tailwind CSS
To run the project locally, ensure you have Node.js and npm installed. Follow these steps:
-
Clone the repository.
-
Install dependencies for the monorepo (concurrently), backend, and frontend web application.
npm install
- Start the backend and frontend web application.
npm run dev
- Access the frontend web application at http://localhost:5173.
Before running the backend, make sure to set the following environment variables in a .env
file for the server (located in the backend/
directory):
cp backend/.env-sample backend/.env
PORT
: The port on which the server should listen. (8000)FRONTEND_URL
: The URL of the frontend application. (http://localhost:5173)
Add your connection string from postgresql.
DB_HOST
DB_USER
DB_PASS
DB_NAME
DB_PORT
For the frontend web application, set the following environment variable in a .env
file for the client (located in the frontend/
directory):
cp frontend/.env-sample frontend/.env
VITE_API_BASE_URL
: The backend API endpoint URL for making requests from the frontend. (http://localhost:8000/api/members)
The backend serves as the data source for the frontend web application. It includes the following endpoints:
/api/members
: CRUD endpoints for members.- GET
/api/members/all
: Returns a list of all members. - POST
/api/members/create
: Creates a new member. - PUT
/api/members/edit/:id
: Edit and Updates a member by ID. - DELETE
/api/members/delete/:id
: Deletes a member by ID.
- GET
The frontend web application provides a user-friendly interface for managing team members. It includes:
- Member listing and viewing.
- Form for adding and editing members.
- Button for deleting members.
The application addresses the following user stories:
- User Story One: As Lisa, a director, I want to view a comprehensive list of all team members' information, so I can easily manage and oversee my team.
- User Story Two: As Lisa, I want to add new members to the team list, ensuring that our team records are always up to date.
- User Story Three: As Alan, a DevOps resource, I need the ability to edit and delete team member information, to maintain accurate and current team data.
- Lisa: A director at an organization, Lisa seeks a streamlined and efficient tool to manage her team members. She values ease of use and comprehensive functionality in a software application to keep track of her team's details and roles.
- Alan: Working in DevOps, Alan requires access to view and manage team members' information. He looks for a reliable and straightforward application that allows him to make quick updates and ensures data accuracy in team records.
![ListPage](https://private-user-images.githubusercontent.com/111606615/291445917-89c603d6-d06a-4e8e-952a-3079d66dc0ca.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NzMyMjgsIm5iZiI6MTczODk3MjkyOCwicGF0aCI6Ii8xMTE2MDY2MTUvMjkxNDQ1OTE3LTg5YzYwM2Q2LWQwNmEtNGU4ZS05NTJhLTMwNzlkNjZkYzBjYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwOFQwMDAyMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01Yzk0ZmU4YmRmNjk5YjBkNjdjYzYzNmY1NWZiMTc4MDEwY2NmY2Q5YWEwNmVkOGY3NjcyZWQ4MWE5NzQ1YzQxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.uR1gmHF4vLSaf1omGsfih-UDNL4L8RIa-2q6QIsRZvM)
![AddPage](https://private-user-images.githubusercontent.com/111606615/291445963-5cc5e709-3520-49b1-8637-49810f183489.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NzMyMjgsIm5iZiI6MTczODk3MjkyOCwicGF0aCI6Ii8xMTE2MDY2MTUvMjkxNDQ1OTYzLTVjYzVlNzA5LTM1MjAtNDliMS04NjM3LTQ5ODEwZjE4MzQ4OS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwOFQwMDAyMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kYzU5MjlhODNkYzk4MmY4Mzg3Y2RlMDJiNjNiZTg5MzQ0ZDAwZGQ5NjcyNmQ4ZTlhYWE1NmIzZTU4MGY4ZjBiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.cZTSAEyHWal8e9IKn5LQYqbarejO3W7w8TeW51NzxjQ)
![EditPage](https://private-user-images.githubusercontent.com/111606615/291445978-f95245cd-5831-4ff3-b3b4-865eb1149f55.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NzMyMjgsIm5iZiI6MTczODk3MjkyOCwicGF0aCI6Ii8xMTE2MDY2MTUvMjkxNDQ1OTc4LWY5NTI0NWNkLTU4MzEtNGZmMy1iM2I0LTg2NWViMTE0OWY1NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwOFQwMDAyMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mMzRkZWNiY2E3MjU2NmYzMTQxMDQ0NzA4M2Q0YTExZmQwM2IwOTU5ODhlZjJkOTMyMDYwMzZmNzAwNWZhMTY0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.4HXKXLzu6R8ev3YzouQTJc8HHgERHEh7-JUynCA1pD4)
The Team Member Management app is a thoughtfully designed tool aimed at simplifying the complexities of organizational team management. With its user-friendly interface, the app facilitates efficient management of team member information, including their personal details and roles within the organization. By streamlining these processes, the app not only saves time but also enhances the overall efficiency and coordination within teams. Its implementation reflects a commitment to modernizing team management and supporting the dynamic needs of today's organizations.
For any questions or issues, please contact Francois at [email protected].