Diginewz Website

pending

A blog website to share and manage categories, posts, comments, etc.

📝 Project Description

DigiNewz is a blog management website where you can fully share posts, create your categories, and manage posts and comments along with categories. This project includes two roles: admin and user, with more to be added to each section in the future.

🌐 Functionality

The functionality of this project includes:

  1. User authentication and authorization
  2. Admin panel and user panel
  3. Management of posts and comments
  4. Management of categories
  5. Edit user account
  6. Upload photos and videos
  7. and so on.

🔨 Tools

- Front-end:

For the front-end part of this project, I used nextjs version 14 because performance and SEO discussion were important to me. I also wanted to use the SSR mechanism and server-side components. If heavy processing was to be done in some parts of the program, this Processing should be done by the server, not the user`s system. I also wanted to manage the discussion of data caching in the parts where the data should be dynamic. In this project I used tailwindcss to consider the styles and developed the UI components myself. I would like this project to be done with typescript that is safe in terms of typing and manage runtime and compile time errors well and somehow avoid technical debt.
The functionality of this project includes:

  1. Zod : For data validation
  2. React-Hook-Form : For managing forms
  3. Tanstack-Query (React-Query) : To manage server-side requests and statuses
  4. and so on.

- Back-end:

I decided to separate this project`s backend from the front end and manage it in another part of the project files. The backend of this project is built with Node JS and the Express framework, and it was developed byMr. Saheb Mohammadi,my good teacher.

🎮 VCS (Version Control System)

The project uses Git for its version control system,conventional commitsfor a better and more logical structure, and the Git Flow strategy for branching.

🙏 Acknowledgments

To create the user interface for this project, I used the Milad Azami design, which is freely available from Milad, as well as some of my customizations.Milad Azami