Note
This project will no longer be updated. I am planning to create a new Hashnode clone using the latest technologies and a highly optimized build for improved performance.
This is a full-stack application that serves as a clone of the popular blogging website, Hashnode. The purpose of this project is to showcase my skills in web development and serve as a learning experience. I have utilized Next.js, Nextjs, Tailwind CSS, and the T3 stack with PostgreSQL as the technology stack for this project. With a plethora of exciting features, this intermediate-level project replicates most of the functionalities found on the original Hashnode website. I hope you enjoy this project as much as I enjoyed building it. Cheers ๐ป. Contributions are welcome!
- Features
- Installation
- Setting up the development environment
- Contribution
- Authentication
- User blogging dashboard
- Search Functionality
- Follow user/tag
- Notifications
- Text completion AI
- Payment Gateway using stripe
Clone the repository
git clone https://github.com/ujen5173/hashnode.git
Navigate to the project directory:
cd hashnode
Install the dependencies:
yarn
- Google Cloud
- Uploadthing for image upload
- Railway for database
- Stripe for payment
- Google AI for text completion
- Create an account on Railway to setup cloud postgresql database.
- Navigate to the railway new app and choose Provision PostgreSQL.
- Access the Variables section within the newly created database.
- Retrieve the DATABASE_URL and transfer it to the .env file under the same name.
- Execute yarn db:dev to upload the schema to the Railway database.
- Set up the required environment variables. Refer to the
.env.example
file for the necessary variables. - Create
.env
file in the root directory of the project and add the environment variables with reference to the.env.example
file. - Create an account in neon.tech for pushing database to the cloud. Use the neon database URL in the
.env
file ->DATABASE_URL
. - Push the database schema to your PostgreSQL database:
yarn db:dev
. (OPTIONAL IF YOU HAVE ALREADY PUSH THE DATABASE) - Start the development server:
yarn dev
- Open your web browser and visit http://localhost:3000
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
- Create issues for bugs and new features you would like to add.
- After an issue has been approved, you can create a pull request.
- Fork this repository.
- Create a new branch for your contribution:
git checkout -b feature/your-feature
- Make your changes and commit them:
git commit -m "Add your message here"
- Push the changes to your branch:
git push origin feature/your-feature
- Open a pull request.
Cheers ๐ป.