QualityReads is a website where you can share & find your favorite content, whether it be a website, video, or audio.
- Like a post: View all liked and disliked posts in your profile. 👍
- Customize your profile: Change themes and settings to personalize your experience. 🎨
- Add posts to a list: Save posts for later viewing. 📋
- Share posts: Easily share posts with friends. 📤
- Hashtags: Click on hashtags to find related posts (feature coming soon). 🔗
- User profiles: View all posts by clicking on a profile or username. 👤
- Trending: Explore trending posts and hashtags. 📈
- Notifications: Receive notifications when someone likes your posts. 🔔
- Profile menu: Access settings, log out, notifications, and your list by clicking your profile at the top. ⚙️
- Frontend: Next.js 14 app router
- Database: MongoDB
- Cache/Queue: Redis (for storing trending items and notifications)
To run this project, you will need to add the following environment variables to your .env
file:
AUTH_GOOGLE_ID
: Google OAuth Client IDAUTH_GOOGLE_SECRET
: Google OAuth Client SecretAUTH_SECRET
: Secret for NextAuthMONGODB_URI
: MongoDB connection stringREDIS_URI
: Redis connection stringSERVER_PROTOCOL
:http
orhttps
SERVER_HOST
: Server host addressABLY_API_KEY
: Ably API key for real-time notifications
We welcome contributions! Please fork the repository and submit a pull request with your changes. For major changes, please open an issue first to discuss what you would like to change.
Thank you for contributing to QualityReads!