Skip to content

Aayuslad/Medium-Clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Medium Clone

Developed a clone of a official medium website, replicating all major functionalities.

Table of Contents

Features

  • Read Stories: Enjoy a wide range of stories across various topics.
  • User Authentication: Create an account to personalize your experience.
  • Write Stories: Become an author and share your own stories with the community.
  • Engagement:
    • Like & Save: Show appreciation for stories you love and save them for later.
    • Comment & Reply: Engage in discussions with comments and sub-comments.
    • Edit & Delete Comments: Modify or remove your comments as needed.
  • Follow System:
    • Follow Authors: Keep up with your favorite authors and never miss their new stories.
    • Gain Followers: Build your own audience as an author.
    • Follow Topics: Stay updated on the topics that interest you.
    • Mute Authors: Customize your feed by muting authors you're not interested in.
  • Search Functionality: Easily find stories, topics, and authors that pique your interest.
  • Author Profiles: Learn more about authors with detailed bio and about sections.
  • Reading History: Track your reading journey and revisit your favorite stories.

Screenshots

Sign In Page Sign Up Page
Sign In Page Sign Up Page
Home Page Read Story Page
Home Page Read Story Page
Profile Page Your Library Page
Profile Page Your Library Page
Your Stories Page Refile Recommendations Page
Your Stories Page Refile Recommendations Page
Write Story Page Publish Story Page
Write Story Page Publish Story Page

Technologies Used

  • Frontend:
    • React
    • TypeScript
    • Tailwind CSS
    • Zustand (state management)
  • Backend:
    • Express
    • PostgreSQL
    • Prisma
    • Typescript
    • Cloud (Cloudinary)
  • Additional Tools:
    • Cloudflare for DDoS protection
    • Google ReCAPTCHA V2
    • Zod for common type implementations

Installation

To set up the project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/Aayuslad/Medium-Clone.git
  2. Install dependencies for both frontend and backend

     cd frontend
     npm install
     cd Express_backennd
     npm install
  3. Set up environment variables:

     DATABASE_URL=your_database_url
     CLOUD_NAME=your_cloud_name
     API_KEY=your_api_key
     API_SECRET=your_api_secret
     PORT=your_port
  4. Run forntend anc backend

     cd Express_Backend
     npm run dev
    
     cd frontend
     npm run dev
    

Contributing

  • Fork the repository.
  • Create a new branch (git checkout -b feature-branch).
  • Make your changes.
  • Commit your changes (git commit -m 'Add some feature').
  • Push to the branch (git push origin feature-branch).
  • Open a pull request.

Feel free to replace any placeholder text with your specific details and make any necessary adjustments.

Releases

No releases published

Packages

No packages published

Languages