Giter Club home page Giter Club logo

my-blog's Introduction

Script Symphony - Coding Blog Site

Script Symphony is a coding blog site where users can write, manage, and publish blog articles. It fetches data from a backend server, allowing users to perform various actions such as creating, updating, and deleting articles. Articles are written in Markdown format and can include metadata such as title, author name, description, tags, cover image, and content.

Note: This rebo has a backend, you can access it from Here

Table of Contents

  1. Folder Structure
  2. Features
  3. Technologies Used
  4. Setup
  5. Environment Variables
  6. Available Scripts
  7. Usage
  8. Notes
  9. Contact

Folder Structure

├───.vscode
├───dist
│   └───assets
├───public
└───src
    ├───assets
    ├───components
    │   ├───aboutComponents
    │   ├───articleComponents
    │   ├───ArticleFormComponents
    │   ├───footer
    │   ├───header
    │   ├───homeComponents
    │   │   ├───allPosts
    │   │   ├───pagination
    │   │   └───recentPosts
    │   ├───navBar
    │   └───userFormComponents
    ├───context
    ├───features
    │   ├───article
    │   ├───articles
    │   └───user
    ├───hooks
    ├───pages
    ├───scss
    │   └───variables
    ├───utilities
    └───validation

Features

  • Article Management:

    • Create, edit, and delete blog articles.
    • Write articles using Markdown format.
    • Manage article metadata such as title, author, description, tags, and cover image.
  • Dashboard:

    • View all articles with pagination.
    • Track the total number of articles and views.
    • Navigate between pages and sort articles by date or views.
  • Authentication:

    • User authentication system to secure access to the dashboard.
    • Login/logout functionality with form validation.
  • Theme Switcher:

    • Option to toggle between light and dark themes.
    • Enhances readability and user experience based on user preference.
  • Additional Features:

    • API integration for fetching article data from the backend.
    • Markdown preview for real-time article editing.
    • Responsive design for optimal viewing across devices.

Screenshot

Screenshot

Technologies Used

  • React
  • Material-UI for UI components
  • Redux Toolkit for state management
  • React Router DOM for routing
  • react-markdown for rendering Markdown content
  • react-icons for icons
  • react-toastify for notifications
  • Axios for making HTTP requests
  • vite for build.

Setup

  1. Clone the repository.

    git clone https://github.com/ibrahim11elian/My-Blog.git
  2. Navigate into the project directory.

     cd My-Blog
  3. Install dependencies using npm.

    Using npm:

    npm i
  4. Start the development server.

    npm start

The application will be accessible at http://localhost:5000.

Environment Variables

To run this project, you will need to add the following environment variables to your .env file. Make sure to replace the values with your own configuration:

VITE_API_URL={Your API URL}

This variable specifies the API URL used for fetching data from the backend server. You need to replace {Your API URL} with your API URL

Note: The Backend repository is currently Available at Github.

Available Scripts

  • start: Starts the development server.
  • build: Builds the project for production.
  • lint: Lints the code using ESLint.
  • preview: Previews the production build locally.

Usage

  1. Login to access the dashboard(Admin only).
  2. Create, update, or delete articles as needed.
  3. Write articles using Markdown syntax.
  4. Add metadata such as title, author name, description, tags, and cover image.
  5. View article statistics on the dashboard.

Notes

  • Ensure proper authentication and authorization mechanisms are implemented to secure user data and prevent unauthorized access.
  • Handle errors and edge cases gracefully to provide a smooth user experience.
  • Follow best practices for writing clean, maintainable code and optimizing performance.
  • Regularly update dependencies to leverage new features and security patches.

Contact

LinkedIn Facebook Gmail WhatsApp Instagram Twitter LeetCode

my-blog's People

Contributors

ibrahim11elian avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.