Skip to content

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

Notifications You must be signed in to change notification settings

aliasghar-bagheri/nextjs-blog-app

Repository files navigation

Diginewz Website

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 own 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:

  • User authentication and authorization
  • Admin panel and user panel
  • Management of posts and comments
  • Management of categories
  • Edit user account
  • Upload photos and so on.

🔨 Tools

Front-end:

For the front-end part of this project, I used nextjs version 14 because performance and SEO 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 application, this processing should be done by the server and not the user system. I also wanted to handle the data caching issue in the parts where the data should be dynamic. In this project, I used tailwindcss to consider the styles and also developed the UI components myself. I did this project with TypeScript which is well-typed and handles runtime and compile-time errors, and in a way, avoids the development process of the project and technical debt on the other hand. The >functionality of this project includes:

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

Back-end:

I decided to separate the backend of this project from the frontend and manage the backend in another part of the project files. The backend of this project is built with nodejs and the express framework, and its backend was developed by Mr. Saheb Mohammadi, my good teacher.

📝VCS (Version Control System)

The project uses Git for its version control system and uses conventional commits for a better and more logical structure, and also uses 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 own customizations. Milad Azami

Releases

No releases published

Packages

No packages published