Kurumsal görev yönetim sisteminin Express.js tabanlı backend API'sidir. Kullanıcı yönetimi, görev işlemleri ve Excel formatında rapor oluşturma gibi temel işlevleri içerir.
- Express.js – RESTful API sunucusu
- Mongoose – MongoDB ODM
- JWT – Kimlik doğrulama
- bcryptjs – Şifreleme
- multer + streamifier – Dosya yükleme iş akışı
- Cloudinary – Medya depolama çözümü
- ExcelJS – Excel dosya üretimi
- Swagger Autogen – Otomatik API dokümantasyonu
- dotenv – Ortam değişkenleri
- cors – Cross-Origin Resource Sharing
- Swagger UI: /api/documents/swagger
- Redoc: /api/documents/redoc
- JSON: /api/documents/json
POST /auth/registerYeni kullanıcı oluşturur.profileImageUrlile profil resmi yüklenebilir.POST /auth/loginGiriş işlemi yapar, JWT token döner.GET /auth/logoutKullanıcının oturumunu kapatır.GET /auth/profileGiriş yapan kullanıcının profil bilgilerini döner. (Korumalı)PUT /auth/profileGiriş yapan kullanıcı kendi profilini günceller. (Korumalı)
GET /usersTüm kullanıcıları listeler. (Sadece admin)GET /users/:idBelirli bir kullanıcıyı detaylarıyla getirir.PUT /users/:idKullanıcıyı günceller. (Sadece admin)DELETE /users/:idKullanıcıyı siler. (Sadece admin)
GET /tasksTüm görevleri listeler.GET /tasks/:idBelirli bir görevi getirir.POST /tasksYeni görev oluşturur. (Sadece admin)PUT /tasks/:idGörevi günceller.DELETE /tasks/:idGörevi siler. (Sadece admin)PUT /tasks/:id/statusGörev durumunu günceller.PUT /tasks/:id/todoYapılacak listesi maddelerini günceller.GET /tasks/dashboard-dataAdmin paneli için genel görev istatistiklerini getirir.GET /tasks/user-dashboard-dataKullanıcı paneli için görev istatistiklerini getirir.
GET /reports/export/tasksTüm görevlerin Excel raporunu indirir. (Sadece admin)GET /reports/export/usersTüm kullanıcıların Excel raporunu indirir. (Sadece admin)
Task Manager API
│
├── src
│ ├── configs
│ │ ├── cloudinary.js
│ │ ├── dbConnection.js
│ │ └── swagger.json
│ ├── controllers
│ │ ├── auth.js
│ │ ├── report.js
│ │ ├── task.js
│ │ └── user.js
│ ├── helpers
│ │ └── sync.js
│ ├── lib
│ │ └── cloudinaryUpload.js
│ ├── middlewares
│ │ ├── permissions.js
│ │ └── upload.js
│ ├── models
│ │ ├── task.js
│ │ └── user.js
│ └── routes
│ ├── auth.js
│ ├── document.js
│ ├── report.js
│ ├── task.js
│ └── user.js
├── .gitignore
├── index.js
├── package-lock.json
├── package.json
├── README.md
├── swaggerAutogen.js
└── vercel.json