BetaBuzz is website to share and discover new products. Users submit products, which are listed in a linear format. The site includes a comments system and a voting system similar to Hacker News or Reddit.
- JWT Based Authentication
- Storing user generated content in S3
- Stripe integration for subscription (Premium features such as markdown editor, blue tick, etc.)
- Recursive comments (like Reddit, HN) with markdown support
Here's the folder structure of the api and app:
.
โโโ api
โย ย โโโ src
โย ย โย ย โโโ config
โย ย โย ย โโโ controllers
โย ย โย ย โโโ docs
โย ย โย ย โโโ middlewares
โย ย โย ย โโโ models
โย ย โย ย โโโ routes
โย ย โย ย โโโ services
โย ย โย ย โโโ utils
โย ย โย ย โโโ validations
โย ย โโโ tests
โย ย โโโ fixtures
โย ย โโโ integration
โย ย โโโ unit
โย ย โโโ utils
โโโ app
โโโ assets
โโโ components
โโโ config
โโโ hooks
โโโ layouts
โโโ lib
โโโ pages
โโโ public
โโโ services
โโโ styles
โโโ types
Make sure you have Node.js installed. Run this followed commands:
To install the api
# Change directory to api
cd api
# Copy environment variables and Make sure to change them
cp .env.example .env
# Install dependencies (only the first time)
npm install
# Run the local server at localhost:8000
npm run dev
To run the web app
# Change directory to app
cd app
# Install dependencies (only the first time)
npm install
# Run the local server at localhost:3000
npm run dev
# Build for production in the dist/ directory
npm run build
- Login with Google and Github
- AI Integration for creating product description
If you want to say thank you and/or support the active development of betabuzz:
- Add a GitHub Star to the project.
- Tweet about the project on your Twitter.
- Write a review or tutorial on Medium, Dev.to or personal blog.
- Support the project by donating a cup of coffee.
MIT License Copyright (c) 2023 Saheb Giri.