Welcome to the GoProjects repository! This is a collection of backend applications built using Golang (Gin framework) for practicing scalable REST APIs with authentication, authorization, rate-limiting, and more.
A full-featured backend system for managing events and functions, with:
- User and Admin roles
- Email verification & JWT authentication
- Function & Event CRUD operations
- Role-based access control (RBAC)
- Request rate limiting (ulule/limiter)
- Clean folder structure & middleware architecture
π Location: /EventManagement/server
A backend inspired by Snapchat's core logic, designed for:
- Uploading stories/snaps
- User CRUD operations
- JWT Auth & Role protection
- File uploads using Multer/Gin bindings
- Ready for extensions like OAuth, etc.
π Location: /Snap_Backend/server
- Language: Golang
- Framework: Gin
- Database: MongoDB (Cloud)
- Authentication: JWT (with Role-based access)
- Rate Limiting:
ulule/limiter
- Email Service: Gmail SMTP
- Deployment Ready: Structured for scale & security
# Clone the repo
git clone https://github.com/AbdulRahman-04/GoProjects.git
# Navigate into a project
cd GoProjects/EventManagement/server
# Install Go dependencies
go mod tidy
# Run the server
go run main.go
(Repeat similar steps for Snap_Backend/server)
This repo is currently for personal practice, but feel free to explore, fork, or give suggestions via issues!
Syed Abdul Rahman Final year ECE student | Backend Developer Connect with me on LinkedIn
If you liked this repo, donβt forget to β it. Helps a lot!