User Admin is a self-contained full-stack system for managing users, built with a clean API and modern frontend stack.
It features:
Frontend (Vue 3 + Vite)
Tech Stack
- Framework: Vue 3 (Composition API)
- Bundler: Vite
- UI Library: Element Plus(users table and pagination)
- Validation: VeeValidate + Yup
- State Management: Pinia
- Styling: Scoped CSS + Element Plus
- Internationalization: vue-i18n
- Language: TypeScript
- Containerization: Docker
Features
- User CRUD: Create, read, update, and delete user records.
- Form validation: Schema-based validation with VeeValidate and Yup.
- Internationalization (i18n): Available in English, Maltese, and Serbian.
- Dark/light theme: Toggleable theme with persisted state.
- Mobile-friendly: Fully responsive layout with clean design.
- Modern stack: Vue 3 Composition API with TypeScript.
- Modular architecture: Scalable, testable, structured code.
- Dockerized: Utilized Docker setup.
Backend (Go + MongoDB)
Tech Stack
- Language: Go 1.21+
- Framework: Gin
- Database: MongoDB (swappagle, Go driver)
- ORM/Driver: mongo-driver
- Logging: Logrus
- Validation: go-playground/validator
- Containerization: Docker & Docker Compose
Features
GET /users
– List users with pagination and optional searchPOST /users
– Create new user (email must be unique, age > 18)GET /users/:id
– Get single user by IDPUT /users/:id
– Update user by ID (validates email uniqueness)DELETE /users/:id
– Delete user by ID- Modular architecture for easy database replacement
- Unit tests for core service logic
- Request logging via Logrus
- Input validation using
validator
This project was built as a complete example of modular, production-ready full-stack architecture — and serves as a practical showcase of my ability to work across the stack.