Skip to content

oribenez/articles-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Article Management Application

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.

Demo

https://drive.google.com/file/d/1ng5eKmF7YfDy5VobIoUdJscI35IecX5R/view?usp=sharing

Table of Contents

  1. Features
  2. Installation
  3. Usage
  4. API Documentation
  5. Technologies Used

Features

  • Manage Articles: All CRUD operations.
  • Manage Categories: All CRUD operations.

Installation

  1. Clone the repository:
git clone https://github.com/oribenez/articles-app.git
  1. Navigate to the project directory:
cd article-app
  1. Install dependencies for both client and server:
cd front
npm i
cd ../back
npm i

Usage

  1. Start the server:
cd back
npm run dev
  1. Start the client application:
cd front
npm run dev
  1. Open your browser and navigate to http://localhost:3000 to use the application.

API Documentation

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.

Technologies Used

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

Articles

image image image image

Swagger dashboard

image

Original Assesment

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