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.1
or 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-app
The 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