A simple command-line Contact Manager written in pure Go (Golang) with no third-party dependencies. It supports basic CRUD operations and can import/export contacts to/from JSON and CSV formats.
- Add, edit, and delete contacts
- Add multiple contacts at once
- List all contacts
- Search contacts by id, name, or email
- Export contacts to JSON or CSV
- Import contacts from JSON or CSV
- Interactive CLI interface using
bufio.Scanner
- Go version
1.24.1or above recommended
- clone repository
git clone git@github.com:Dwipasca/contact-management.git- navigate to project repository
cd contact-management- run the application
go run cmd/.main.go- build the binary (optional)
go build -o contact-management-app ./cmd/main.go- run application
./contact-management-appThe application provides a menu-driven interface with the following options:
- Add Contact
- Add Multiple Contacts
- Edit Contact
- Delete Contact
- Show List Contact
- Search Contact
- Export Contacts
- Import Contacts
- Exit
Follow the on-screen prompts to use each feature.
This project follows the golang-standards/project-layout guidelines:
/cmd- Main applications/internal- Private application code/domain- Domain models/repository- Data access layer/usecase- Business logic/handler- UI handlers
/ui- User interface utilities