Thanks for your interest in contributing to Waitlist!
-
Clone the repository
git clone https://github.com/Synapsr/WaitList-Page.git cd WaitList-Page -
Run locally with Docker
docker compose up --build
-
Or run with Go (requires Go 1.21+)
go run .
waitlist/
├── main.go # Entry point
├── config.go # Environment configuration
├── handlers.go # HTTP handlers
├── storage/
│ ├── storage.go # Storage interface
│ ├── json.go # JSON file storage
│ ├── webhook.go # Webhook storage
│ ├── smtp.go # SMTP notifications
│ └── multi.go # Multi-backend storage
├── static/
│ └── index.html # Frontend (embedded)
├── Dockerfile
└── docker-compose.yml
- Follow standard Go conventions
- Keep it simple - avoid over-engineering
- Write self-documenting code
- Use clear, descriptive commit messages
- One feature/fix per commit
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test locally with Docker
- Commit your changes
- Push to your fork
- Open a Pull Request
- Bug fixes
- Performance improvements
- New storage backends
- Documentation improvements
- UI/UX enhancements
- Features that add significant complexity
- Dependencies that increase the Docker image size
- Changes that break backwards compatibility
# Build and run
docker compose up --build
# Test the API
curl http://localhost:3000/api/health
curl -X POST http://localhost:3000/api/subscribe \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com"}'Open an issue and we'll help you out!