/hackerhunt

Hackernews inspired social news webapp

Primary LanguageTypeScript

License

HackerHunt

What is HackerHunt?

  • It is a Hackernews inspired social news and sharing webapp/platform.

Introduction

The goal of this project was to create a platform that provided the social aspect of news sharing similar to Hackernews but with a Produchunt feel to it. I wanted to learn all about design principles on both frontend and backend while building a fullstack GraphQL Next.js application to make this work.

Key Features

  • Authentication
    • Login
    • Sign Up
  • View feed with posts with generated preview fields associated with links
  • Create posts with tags assigned
  • Like and Unlike posts
  • Comment on posts
  • Logout functionality
  • View list of software engineering jobs available in the UK

Technologies 🔧

  • Next.js(React)
  • TypeScript
  • GrahQL
  • Apollo
  • Prisma
  • Chakra UI
  • React Query
  • React Icons
  • React Hook Form

Installation 💾

git clone https://github.com/KelechiOdom10/hackerhunt.git

Fill your .env variables:

DATABASE_URL="mysql://<USER>:<PASSWORD>@<HOST>:<PORT>/<DB>"
SECRET=

Install deps:

pnpm install

Generate Prisma Client:

npx prisma generate

Run Next dev server:

pnpm run dev

TODO

  • Add profile page for users to view all their likes, comments, posts and general information
  • Add search functionality
  • Add tags features (Find posts with tags selected)
  • Add Meta tags to pages for SEO purposes
  • Deploy app to prod
  • Add animations (Learn Framer Motion)
  • Switch from Postgres to mySQL
  • Switch to React Query to fix Server Side problems
  • Add proper error handling
  • Add ability to comment on a comment

Contributing

This is an open source project, and contributions of any kind are welcome and appreciated. Open issues, bugs, and feature requests are all listed on the issues tab and labeled accordingly. Feel free to open bug tickets and make feature requests.