This project is an Article Management Application built using TypeScript, React, Node.js, Express, and Swagger. It allows users to perform CRUD (Create, Read, Update, Delete) operations on articles, along with managing categories and tags associated with the articles.
https://drive.google.com/file/d/1ng5eKmF7YfDy5VobIoUdJscI35IecX5R/view?usp=sharing
- Manage Articles: All CRUD operations.
- Manage Categories: All CRUD operations.
- Clone the repository:
git clone https://github.com/oribenez/articles-app.git
- Navigate to the project directory:
cd article-app
- Install dependencies for both client and server:
cd front
npm i
cd ../back
npm i
- Start the server:
cd back
npm run dev
- Start the client application:
cd front
npm run dev
- Open your browser and navigate to
http://localhost:3000
to use the application.
The API documentation is generated using Swagger. Once the server is running, you can access the Swagger UI at http://localhost:8000/api-docs
to explore and interact with the API endpoints.
- TypeScript: Utilized for both frontend and backend development for static typing and improved code maintainability.
- React: Used for building the frontend user interface, providing a dynamic and responsive user experience.
- Node.js: Used as the runtime environment for the server-side application.
- Express: Utilized as the web framework for handling HTTP requests and routing.
- Swagger: Used for API documentation to ensure clarity and ease of use for developers.
- MongoDB: A NoSQL database used for storing articles, categories, and tags.
1 - Create a schema for an Article:
Article: Id, Date, Title, Description, Body
Category: Id, Title, Description
Tag: Id, Title, Description
Category has many Articles
Article has many Tags
2 - Create CRUD API in Node.js with Swagger:
Create
Read
Update
Delete
Get all Articles
3 - Create a React app to display and use the Node.js CRUD API