EventV8 is a lightweight and efficient event management REST API built with Go (Golang). It provides endpoints for creating, managing, and retrieving events, making it suitable for event scheduling applications, calendars, or booking systems.
- RESTful API design
- Create, read, update, and delete events
- Search and filter events by criteria
- MySQL database integration
- Built with performance and scalability in mind using Golang
- Modular and maintainable codebase
- Language: Go (Golang)
- Database: MySQL
- Framework: Gin (for HTTP routing)
- ORM: sqlx
Ensure you have the following installed on your system:
- Go (>= 1.20)
- MySQL (>= 8.0)
- Git
git clone https://github.com/FarzadMohtasham/EventV8.git
cd EventV8go mod tidy- Create a MySQL database.
- Update the
config.yamlfile (or.envif used) with your database credentials.
Example config.yaml:
database:
host: localhost
port: 3306
user: root
password: your_password
name: eventv8go run main.goThe server will start (default: http://localhost:8080).
| Method | Endpoint | Description |
|---|---|---|
| POST | /events |
Create a new event |
| GET | /events |
Get all events |
| GET | /events/:id |
Get event by ID |
| PUT | /events/:id |
Update event by ID |
| DELETE | /events/:id |
Delete event by ID |
curl -X POST http://localhost:8080/events \
-H "Content-Type: application/json" \
-d '{
"name": "Tech Conference 2025",
"description": "A conference about the latest in technology.",
"location": "Berlin, Germany",
"dateTime": "2025-10-12T10:00:00Z",
"user_id": 1
}'EventV8/
├── main.go
├── config/
├── controllers/
├── models/
├── routes/
├── utils/
└── go.mod
Contributions are welcome! Please fork the repository and create a pull request.
Steps:
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Farzad Mohtasham GitHub Profile