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.
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.
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.
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.
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.
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