A simple and lightweight API for filtering and checking bad words, built with Go and Echo.
Features • Usage • Installation • API • Todo • Contributing • Acknowledgments • License
- 📋 Retrieve a comprehensive list of bad words via API
- ✅ Check if a specific word is considered inappropriate
- 🌐 User-friendly web interface for easy testing and usage
- 🐳 Docker support for simple deployment
Method | Endpoint | Description |
---|---|---|
GET | /healthz |
Health check endpoint |
GET | /api/words |
Get a list of bad words |
GET | /api/word/:word |
Check if a word is a bad word |
GET | /api/sentence/:sentence |
Check if a sentence contains bad words |
POST | /api/sentence |
Check if a sentence contains bad words |
GET | /api/replacer/:sentence |
Replace bad words in a sentence |
POST | /api/replacer |
Replace bad words in a sentence |
Access the intuitive web interface by navigating to badword.iamickdev.com
Task | Status | Description |
---|---|---|
Migrate static word set to database | ⚙️ In Progress | Move the static word set to a database for better management and scalability |
Create endpoint to let everyone can add more word | ⚙️ In Progress | Implement an API endpoint to allow users to add additional bad words dynamically |
Add languages detector and support more languages | 🟡 Pending | Integrate language detection to support filtering bad words in multiple languages |
- Clone this repository:
git clone https://github.com/arnonsang/badwords.git
- Navigate to the project directory:
cd your_project_dir
- Build and run via docker compose:
make up
- Access the application at
http://localhost:8089
in your browser.
Command | Description |
---|---|
make build |
Builds the Docker image |
make up |
Starts the application using Docker Compose |
make up-detached |
Starts the application in detached mode |
make down |
Stops and removes the containers |
make clean |
Removes the Docker image |
make restart |
Restarts the application |
make logs |
Tails the logs of the running containers |
make status |
Shows the status of the running containers |
- Go - The programming language powering the server
- Echo - High performance, extensible, minimalist Go web framework
- Tailwind CSS - A utility-first CSS framework for rapid UI development
├── assets
│ └── badwords.go
├── docker-compose.yml
├── Dockerfile
├── go.mod
├── go.sum
├── LICENSE
├── main.go
├── Makefile
├── presentation
│ └── server.go
├── README.md
├── static
│ ├── android-chrome-192x192.png
│ ├── android-chrome-512x512.png
│ ├── apple-touch-icon.png
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon.ico
│ ├── images
│ │ └── github-mark.svg
│ ├── index.html
│ ├── screenshot.png
│ └── site.webmanifest
└── usecase
└── badwords.go
Contributions, issues, and feature requests are welcome! Feel free to check issues page or open pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
We'd like to tip our hats to:
- The awesome folks at favicon.io for their fantastic favicon generator. It's made our app look snazzy!
- The brilliant minds at Carnegie Mellon University for providing a comprehensive list of bad words. Your work helps keep the internet a little cleaner!
Your resources have been invaluable in making this project shine. Thank you! 🌟
Made with ❤️ by iamickdev
- Website: www.iamickdev.com
- Github: @arnonsang
From JLR Lab
A Gen Z technology research, consulting and development team based in Thailand.