Skip to content

πŸ“° Bloggy app is a web page made with react. While previously written blogs can be viewed, favorite blogs can be added and removed. After logging in, the user can update their profile or create blogs that are not public.

License

Notifications You must be signed in to change notification settings

karamanburak/bloggy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bloggy App

Description

πŸ“° Bloggy app is a web page made with react. While previously written blogs can be viewed, favorite blogs can be added and removed. After logging in, the user can update their profile or create blogs that are not public.

Features

  • User Authentication: Users can sign up and log in to access the site.
  • Create Blog Posts: Users can write new blog posts, save them as drafts, or publish them publicly.
  • Edit Profile: Users can update their profile information.
  • Interact with Blogs: Users can like/unlike blog posts and leave comments.
  • Drafts: Users can save blog posts as drafts and view them on their private page.

Tech Stack

  • Frontend: React, Redux, Mui
  • Backend: Node.js, Express
  • Authentication: Token

Installation

  1. Clone the repository:
git clone https://github.com/karamanburak/bloggy-app.git
cd bloggy-app
  1. Install dependencies:
pnpm install
  1. Set up environment variables:

Create a .env file in the root directory and add the following:

VITE_BASE_URL =
VITE_WEATHER_apiKey =
  1. Run the development server:
pnpm dev

Usage

Register and Login

  1. Navigate to the registration page to create a new account.
  2. After registering, log in with your new account credentials.

Creating a Blog Post

  1. After logging in, navigate to the "Blogs" page.
  2. Write your blog post in the provided editor.
  3. Choose to save the post as a draft or publish it publicly.

Managing Blog Posts

  • Drafts: View and edit your drafts from your profile page.
  • Public Posts: Edit or delete your public posts.

Interacting with Other Users

  • Like/Unlike: Click the like button on a blog post to like or unlike it.
  • Comments: Leave comments on blog posts to engage with other users.

Project Skeleton

- Bloggy App (folder)
|
|
SOLUTION
β”œβ”€β”€ public
β”œβ”€β”€ src
|    β”œβ”€β”€ app
|    β”‚   └── store.jsx
|    β”œβ”€β”€ assets
|    β”‚   └── [images]
|    β”œβ”€β”€ components
|    β”‚   β”œβ”€β”€ auth
|    β”‚   β”‚   β”œβ”€β”€ Information.jsx
|    β”‚   β”‚   β”œβ”€β”€ LoginForm.jsx
|    β”‚   β”‚   └── RegisterForm.jsx
|    β”‚   β”œβ”€β”€ blog
|    β”‚   β”‚   β”œβ”€β”€ BlogCard.jsx
|    β”‚   β”‚   β”œβ”€β”€ BlogModal.jsx
|    β”‚   β”‚   β”œβ”€β”€ CommentForm.jsx
|    β”‚   β”‚   β”œβ”€β”€ DeleteBlog.jsx
|    β”‚   β”‚   β”œβ”€β”€ EditBlog.jsx
|    β”‚   β”‚   β”œβ”€β”€ Editor.jsx
|    β”‚   β”‚   β”œβ”€β”€ NewBlog.jsx
|    β”‚   β”‚   β”œβ”€β”€ SocialShare.jsx
|    β”‚   β”‚   β”œβ”€β”€ TinyMCE.jsx
|    β”‚   β”‚   └── TrendBlog.jsx
|    β”‚   β”œβ”€β”€ global
|    β”‚   β”‚   β”œβ”€β”€ AuthImage.jsx
|    β”‚   β”‚   └── Navbar.jsx
|    β”‚   β”œβ”€β”€ home
|    β”‚   β”‚   β”œβ”€β”€ CustomSwiper.jsx
|    β”‚   β”‚   β”œβ”€β”€ Footer.jsx
|    β”‚   β”‚   β”œβ”€β”€ HomeCard.jsx
|    β”‚   β”‚   β”œβ”€β”€ NewsCard.jsx
|    β”‚   β”‚   β”œβ”€β”€ PageHeader.jsx
|    β”‚   β”‚   β”œβ”€β”€ Quotes.jsx
|    β”‚   β”‚   β”œβ”€β”€ ShowsCard.jsx
|    β”‚   β”‚   └── WeatherCard.jsx
|    β”‚   β”œβ”€β”€ profile
|    β”‚   β”‚   β”œβ”€β”€ MyBlogsCard.jsx
|    β”‚   β”‚   β”œβ”€β”€ MyBlogsContainer.jsx
|    β”‚   β”‚   └── UpdateProfileModal.jsx
|    β”œβ”€β”€ features
|    β”‚   β”‚   β”œβ”€β”€ autSlice.jsx
|    β”‚   β”‚   β”œβ”€β”€ blogSlice.jsx
|    β”‚   β”‚   β”œβ”€β”€ categorySlice.jsx
|    β”‚   β”‚   └── newsShowsSlice.jsx
|    β”œβ”€β”€ helper
|    β”‚   β”‚   └── ToastNotify.js
|    β”œβ”€β”€ hooks
|    β”‚   β”‚   β”œβ”€β”€ useAuthCall.jsx
|    β”‚   β”‚   β”œβ”€β”€ useAxios.jsx
|    β”‚   β”‚   β”œβ”€β”€ useBlogCall.jsx
|    β”‚   β”‚   β”œβ”€β”€ useCategoryCall.jsx
|    β”‚   β”‚   └── useNewsShowsCall.jsx
|    β”œβ”€β”€ pages
|    β”‚   β”œβ”€β”€ About.jsx
|    β”‚   β”œβ”€β”€ Blogs.jsx
|    β”‚   β”œβ”€β”€ Dashboard.jsx
|    β”‚   β”œβ”€β”€ Detail.jsx
|    β”‚   β”œβ”€β”€ Login.jsx
|    β”‚   β”œβ”€β”€ NotFound.jsx
|    β”‚   β”œβ”€β”€ Profile.jsx
|    β”‚   └── Register.jsx
|    β”œβ”€β”€ router
|    |   β”œβ”€β”€ AppRouter.jsx
|    |   └── PrivateRouter.jsx
|    β”œβ”€β”€ styles
|    |   β”œβ”€β”€ globalStyles.js
|    |   └── theme.js
|    β”œβ”€β”€ App.jsx
|    β”œβ”€β”€ main.jsx
|    β”œβ”€β”€ .gitignore
|    β”œβ”€β”€ frontend.env
|    β”œβ”€β”€ index.css
|    β”œβ”€β”€ index.html
|    β”œβ”€β”€ LICENSE
|    β”œβ”€β”€ package.json
|    β”œβ”€β”€ pnpm-lock.yaml
|    β”œβ”€β”€ README.md
|    β”œβ”€β”€ vercel.json
└──   vite.config.js

Outcome

Bloggy Gif

Postman Documentation

View Postman Documentation

About

πŸ“° Bloggy app is a web page made with react. While previously written blogs can be viewed, favorite blogs can be added and removed. After logging in, the user can update their profile or create blogs that are not public.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages