Skip to content

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Narrate Blogging Website

License: MIT Node.js CI

Narrate is a minimalistic blogging platform designed to provide a seamless user experience for creating, updating, and managing blog posts. It allows users to register, update their profiles, and interact with others' content.

Features

  • User Registration and Authentication: Secure user login and registration with JWT.
  • Profile Management: Update personal details and bio.
  • Blog Management: Create, update, and delete blog posts.
  • Content Interaction: View and read blogs from other users.
  • Responsive Design: Optimized for various devices with a user-friendly interface.

Technology Stack

  • Frontend:

    • React
    • TypeScript
    • Tailwind CSS
    • React Router
    • Recoil
  • Backend:

    • Hono (TypeScript)
    • Cloudflare Workers
  • Database:

    • PostgreSQL
    • Prisma ORM
  • Authentication and Security:

    • bcrypt
    • JWT

Getting Started

Prerequisites

  • Node.js: v14 or higher
  • Docker: For containerization (optional but recommended)

Installation

  1. Clone the repository:

    git clone https://github.com/pmalu9211/narrate.git
    cd narrate
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    Create a .env file in the root directory with the following variables:

    DATABASE_URL=your_postgresql_database_url
    JWT_SECRET=your_jwt_secret_key
  4. Run database migrations:

    npx prisma migrate deploy

Running the Application

  1. Start the development server:

    npm run dev
  2. Access the application:

    Open your browser and navigate to http://localhost:3000.

Dockerization

  1. Build the Docker image:

    docker build -t narrate:latest .
  2. Run the Docker container:

    docker run -d -p 3000:3000 --env-file .env narrate:latest

Usage

  • Creating a Blog: Navigate to the "Create Post" page and fill out the blog form.
  • Updating a Blog: Edit your blog posts from the "My Posts" section.
  • Deleting a Blog: Remove blog posts via the "My Posts" section.
  • Profile Management: Update your profile details under "My Profile".

Contributing

  1. Fork the repository:

    Click the "Fork" button on the top right to fork the repository.

  2. Clone your fork:

    git clone https://github.com/pmalu9211/narrate.git
  3. Create a new branch:

    git checkout -b feature/your-feature-name
  4. Make your changes and commit them:

    git add .
    git commit -m "Add some feature"
  5. Push to the branch:

    git push origin feature/your-feature-name
  6. Create a pull request:

    Open a pull request to merge your changes into the main branch.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Prathamesh Malu

About

Narrate it

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages