Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cliuno Express template

logo

Installation

if you want to run the project locally make sure you have installed nodejs, pnpm. to install node js go to nodejs to install pnpm run the following command

npm install -g pnpm

if you want to run the project using docker make sure you have installed docker.

to install docker go to docker

to run the project using docker run the following command

docker compose -d up

or pull the image from docker hub

docker pull iru44/express-template

make sure you pull the database image from docker hub as well

then run the following command

docker run -p 3000:3000 iru44/express-template

if you want to run the project using kubernetes make sure you have installed minikube.

to install minikube go to minikube to install kubectl go to kubectl

Clone the repository

git clone https://github.com/CLIuno/CLIuno-Express-template.git

then run the following command

pnpm install

Usage

after installing the dependencies you can run the project using the following command to migrate the database

pnpm migrate

then you run the project using the following command

pnpm dev

Features

list of features that already implemented:

Status Feature
✅ Auth routes
[ ] User routes
[ ] Role routes
[ ] Post routes
[ ] User Role routes
[ ] CI/CD with GitHub Actions
✅ Mailer
✅ Logging
[ ] Dockerize
[ ] Kubernetes
[ ] Soft delete
✅ SQLite database
[ ] Fully documentation
✅ Postman collection just basic

Premium features

You will get more features if you buy the full version and you can use it for commercial purposes (contact me for more information)

Status Feature
✅ Vote routes
✅ Comment routes
✅ Permission routes
✅ Reacion routes
✅ Payment routes
✅ Notification routes
✅ Pagination
✅ Redis cache
✅ File upload
✅ Fully unit test
✅ Database Factory
✅ Make use of Enums
✅ GraphQL (Optional)
✅ Postman collection extra
✅ Postgres database or MongoDB

list of endpoints

Auth

Status Endpoint Description Method Path
✅ Login POST /api/v1/auth/login
✅ Register POST /api/v1/auth/register
✅ Logout POST /api/v1/auth/logout
✅ Reset Password POST /api/v1/auth/reset-password
✅ Forgot Password POST /api/v1/auth/forgot-password
✅ Change Password POST /api/v1/auth/change-password
✅ Send Verification Email POST /api/v1/auth/send-verify-email
✅ Verify Email POST /api/v1/auth/verify-email
✅ Check Token POST /api/v1/auth/check-token
✅ Refresh Token POST /api/v1/auth/refresh-token
✅ Verify OTP POST /api/v1/auth/otp/verify
✅ Disable OTP POST /api/v1/auth/otp/disable
✅ Validate OTP POST /api/v1/auth/otp/validate
✅ Generate OTP POST /api/v1/auth/otp/generate

Users

Status Endpoint Description Method Path
✅ Get current user GET /api/v1/users/current
✅ Update current user PATCH /api/v1/users/current
✅ Delete current user DELETE /api/v1/users/current
✅ Get user by username GET /api/v1/users/username/:username
✅ Get all users GET /api/v1/users
✅ Get a user by ID GET /api/v1/users/:id
✅ Update user by ID PATCH /api/v1/users/:id
✅ Delete user by ID DELETE /api/v1/users/:id
✅ Get posts by user GET /api/v1/users/posts
✅ Get roles by user GET /api/v1/users/role

Roles

Status Endpoint Description Method Path
[ ] Get all roles GET /api/v1/roles
[ ] Get role by ID GET /api/v1/roles/:id
[ ] Create a role POST /api/v1/roles
[ ] Update role by ID PATCH /api/v1/roles/:id
[ ] Delete role by ID DELETE /api/v1/roles/:id
[ ] Get permissions by role GET /api/v1/roles/:role_id/permissions
[ ] Get users by role GET /api/v1/roles/:role_id/users

Posts

Status Endpoint Description Method Path
[ ] Get all current user posts GET /api/v1/posts/current-user
[ ] Get all posts GET /api/v1/posts
[ ] Get post by ID GET /api/v1/posts/:id
[ ] Create a post POST /api/v1/posts
[ ] Update post by ID PATCH /api/v1/posts/:id
[ ] Delete post by ID DELETE /api/v1/posts/:id
[ ] Get users by post GET /api/v1/posts/:post_id/user

Sponsor this project

Used by

Contributors

Languages