94 Commits
Author SHA1 Message Date
mahdium a751ac9d4b tidy go packages 2025-09-25 21:48:56 +03:30
mahdium f93e004bbf Updated admin panel, replaced with plain html and alpine js 2025-09-25 21:44:14 +03:30
mahdium 94694741a7 modernize the codebase
Run the modernize linter across the codebase.
Change generated by running:

```
go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./...
```

Ref:
https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize
2025-09-23 09:13:29 +03:30
mahdium fc1502c4a0 fix: 🐛 GetMedia imageKit dependencie 2025-09-22 13:49:21 +03:30
mahdium 1a2baa2c6a Removed unused logging 2025-09-22 13:38:33 +03:30
mahdium ec423700fc Move to bookworm golang image 2025-09-16 12:47:19 +03:30
mahdium ff1e9d810b Update dockerfile to install build-base in the build stage 2025-09-16 12:38:13 +03:30
mahdium 9bcdcf337d Added gcc to docker build stage 2025-09-16 12:35:32 +03:30
mahdium 228d1bffc1 Update dockerfile build image 2025-09-16 12:26:13 +03:30
mahdium 6d15ce2df9 Improved logging with zap 2025-09-16 12:23:12 +03:30
mahdium 5680f9471f Added some comments for myself 2025-09-16 12:18:35 +03:30
mahdiumandQwen-Coder f136ae58b3 Refactor: Implement uber-go/fx dependency injection
- Replace global variable pattern with proper dependency injection
- Add uber-go/fx for automatic dependency resolution
- Refactor all services and handlers to use constructor injection
- Eliminate fragile initialization order dependencies
- Improve testability and modularity
- Add structured logging with zap

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2025-09-16 11:41:01 +03:30
mahdium d4044b0eaf Added Gitea oauth to the admin dashboard and finished the oauth handling 2025-09-15 22:24:12 +03:30
mahdium a84156f0a0 Minor fixes 2025-09-15 20:22:37 +03:30
mahdium 001e3b66cb Added oauth for gitea 2025-09-15 19:10:49 +03:30
mahdium a7ef859c43 Fix api attachment urls 2025-07-29 20:40:53 +03:30
mahdium ba06de2c11 Update admin dash 2025-07-29 19:29:07 +03:30
mahdium 8dcdd27745 Minor improvements to admin panel API 2025-07-29 19:21:15 +03:30
mahdium a43bcc9c14 Update admin panel 2025-07-29 19:10:12 +03:30
mahdium 71800440be Add imagekit fallback on no imagekit ID 2025-07-29 17:55:16 +03:30
mahdium 051408fcdd Added imagekit optimization support 2025-07-29 17:52:39 +03:30
mahdium 48b893a403 remove unused code 2025-07-26 22:43:06 +03:30
mahdium 0a0af6b04b Minor updates 2025-07-25 22:19:29 +03:30
mahdium 85fe309b05 Cleanup the dto models 2025-07-25 22:17:42 +03:30
mahdium e7b8338932 Add docker build cache to gitlab CI 2025-07-25 14:06:10 +03:30
mahdium ccb810ee69 Improve random post picker 2025-07-25 13:59:28 +03:30
mahdium cc2e2fe0a0 Set mysql connctions limit 2025-07-25 13:02:46 +03:30
mahdium 714443156e Fix MariaDB RANDOM() eror 2025-07-25 12:28:07 +03:30
mahdium b818726b1b Fix mysql Foreign key constraint error 2025-07-25 12:15:44 +03:30
mahdium 63b524277f Dep updates 2025-07-25 11:50:20 +03:30
mahdium e0aa177f07 Add mysql support 2025-07-25 11:50:08 +03:30
mahdium 71ed94d943 Improve embed page 2025-07-25 11:49:43 +03:30
mahdium 15485b03d4 Minor improvements 2025-07-11 17:59:38 +03:30
mahdium 09772a423c Added retry 2025-07-11 17:59:28 +03:30
mahdium 0c6160b756 Move GIN_MODE=release from build args to runtime environment variable 2025-06-25 16:33:08 +03:30
mahdium 212637051f Update dependencies and organize go.mod file 2025-06-25 15:59:48 +03:30
mahdium d266c93b8a Add database indexes for better query performance and allow robots.txt access 2025-06-25 15:57:50 +03:30
mahdium 95f5e03f65 Update admin UI assets and add robots.txt 2025-06-11 09:14:51 +03:30
mahdium 593d32438a Set GIN_MODE to release during build for production environment 2025-06-05 18:47:01 +03:30
mahdium 22adcee9d2 Use RemoteUrl instead of PreviewUrl and increase API timeout to 60 seconds 2025-06-05 18:15:16 +03:30
mahdium c4a192ac80 Add database indexes for PostID and approval status in MediaAttachment model 2025-05-24 11:49:21 +03:30
mahdium 0f96344543 Modernize admin UI with React and update templates 2025-05-24 10:51:55 +03:30
mahdium d35a93e4bc Update login redirect path from root to /admin/ endpoint 2025-05-18 14:47:23 +03:30
mahdium e97b9bdb0c Update API endpoints and navigation paths in admin templates 2025-05-18 14:28:02 +03:30
mahdium 5e8fd13ea4 Fix login API endpoint path by removing redundant 'admin/' prefix 2025-05-18 14:16:00 +03:30
mahdium 501cdb0f15 Remove nonroot user from Dockerfile 2025-05-18 14:07:40 +03:30
mahdium 98c56daf24 Switch from static to base Debian 12 distroless image for runtime support 2025-05-18 13:59:16 +03:30
mahdium d9fdd6919f Enable CGO in Dockerfile build step for Linux compilation 2025-05-18 13:46:56 +03:30
mahdium 686eaec0ad Replace panic with slog.Error when .env file loading fails 2025-05-18 13:31:03 +03:30
mahdium 60a55e3ad8 Fix Docker COPY paths to use absolute destination directories 2025-05-18 13:08:11 +03:30
mahdium 36aa4589f3 Fix go build path by adding ./ prefix for proper module resolution 2025-05-18 13:04:41 +03:30
mahdium e668e795fb Fix build path to specify main.go entry point in Dockerfile 2025-05-18 13:02:24 +03:30
mahdium ad790b3d36 Add Docker build configuration and CI/CD pipeline for container deployment 2025-05-18 12:59:03 +03:30
mahdium 0294418950 Create data dir and move DB file into it for better organization 2025-05-18 12:46:44 +03:30
mahdium 7659cca37e Add web templates and handlers for home, embed card, and admin pages 2025-05-18 12:23:00 +03:30
mahdium 0854387eb4 Fix string formatting in logging statements using strconv.Itoa 2025-05-17 21:40:12 +03:30
mahdium 99e3debf7c Replace log package with slog for structured logging and improve error handling 2025-05-17 21:37:43 +03:30
mahdium 3d7a3a043f Refactor config usage to access values through Config singleton 2025-05-17 21:08:12 +03:30
mahdium a1b3bfa18d Update import path from requestModels to dto package and update struct references 2025-05-17 20:49:56 +03:30
mahdium 9565c06fba Add JWT auth and .env support for admin login 2025-05-17 20:47:04 +03:30
mahdium 0d9cf11687 Remove unused imports and fix import alias naming 2025-05-17 20:29:07 +03:30
mahdium 81adfa1ad9 Refactor JWT auth and remove DB dependency from config 2025-05-17 20:28:18 +03:30
mahdium f9d896bf72 Remove AppContext struct and update JWT secret validation error message 2025-05-17 20:11:50 +03:30
mahdium 7b601e75ba Refactor app structure: move models to domain, centralize config and database init - TODO: add jwt 2025-05-17 20:07:29 +03:30
mahdium ab9254fcad Starting to improve the project structure 2025-05-17 18:43:54 +03:30
mahdium cb5149b7bc Switch from cookie to Bearer token auth and add CORS support - Semi finished 2025-05-16 16:20:30 +03:30
mahdium 2e4b97e4bc Implement admin media approval endpoints and add JWT role-based auth - NOT TESTED 2025-05-16 14:56:13 +03:30
mahdium 1abc05ecd9 Add JWT authentication for admin dashboard login 2025-05-16 14:41:16 +03:30
mahdium 855c778654 Trying to add jwt shit but failing cause im tired 2025-05-15 21:33:55 +03:30
mahdium 49b38470cf Remove user authentication and switch to simple admin password check (It wont have more than one admin user so no need for registeration (I LOVE .Net/C# btw)) 2025-05-15 20:25:28 +03:30
mahdium d646515776 Implement user login with password hash verification and username lookup 2025-05-15 12:24:48 +03:30
mahdium b3fae6b80c Add user registration with password hashing and restructure handlers directory 2025-05-15 12:10:16 +03:30
mahdium 7aa8c26da9 Remove HTML template and simplify API response with static home page 2025-05-14 21:34:14 +03:30
mahdium aded00daf1 Increase post fetch interval and add initial fetch on startup 2025-05-14 21:07:56 +03:30
mahdium 3007b41f0d Add HTML template and implement homepage with random cat posts 2025-05-14 20:39:56 +03:30
mahdium ac86f8d2f0 Update JSON tags for Approved and Rejected fields in MediaAttachment model 2025-05-14 20:14:55 +03:30
mahdium b30f0d2726 Add API endpoint for random post with preloaded relationships 2025-05-14 20:11:25 +03:30
mahdium 943925c3e9 Refactor handlers into separate packages and implement dependency injection.
IDK if this shit is good or even logical, but it works and I can wrap my head around it.
2025-05-14 20:03:06 +03:30
mahdium 02461d0bb0 Improve logging format and clarity for post/account insertion stats 2025-05-14 14:56:18 +03:30
mahdium 8c7cfbd956 Replace fatal error handling with proper error propagation and logging 2025-05-14 14:55:13 +03:30
mahdium a9dc376409 Add Rejected field to MediaAttachment model 2025-05-13 23:06:51 +03:30
mahdium 61a48c1cf4 Add random post selection 2025-05-13 22:58:46 +03:30
mahdium f9ec882cd9 Add periodic post fetching and update default Mastodon instance to mstdn.party 2025-05-13 22:47:52 +03:30
mahdium 117fe3dd34 Refactor app context setup and move API fetch logic to PostService 2025-05-13 17:32:29 +03:30
mahdium 99e385889a Add database and post service to app contexts 2025-05-13 16:45:58 +03:30
mahdium a405289b33 Refactor db operations into PostService and add OnConflict for account inserts 2025-05-13 15:47:01 +03:30
mahdium 25d9b67be6 Add user management and improve code organization with context structs 2025-05-13 15:00:42 +03:30
mahdium 75bad5e091 Add web server with admin dashboard and media approval endpoints 2025-05-11 22:14:32 +03:30
mahdium 3e7f6b92d3 Changed project structure 2025-05-11 20:43:56 +03:30
mahdium 8be6290635 Filter bot posts and add env vars for instance and tag configuration 2025-05-10 22:26:15 +03:30
mahdium 5a897b5412 Add migrations helper and refactor DB operations with environment variable support 2025-05-10 22:18:38 +03:30
mahdium 0533151c1b Refactor database operations and move helpers to separate package 2025-05-10 21:33:50 +03:30
mahdium e3f2f3199d Added .gitignore 2025-05-10 21:33:28 +03:30
mahdium 7f567a7adb first commit 2025-05-10 20:35:16 +03:30