Opinify is a dynamic web platform that provides users with a space to voice their thoughts, share ideas, and connect with a diverse community through vibrant discussions.
- Customized Feed: Personalized content based on user preferences.
- Infinite Scrolling: Smooth, continuous content loading.
- Advanced Search: Find communities easily.
- Community Interaction: Create and join communities, post text, images, videos, and hybrid content.
- Engagement: Comment on discussions and upvote/downvote posts and comments.
- Frontend: TypeScript, Next.js, React.js, Tailwind CSS
- Backend: Prisma, Redis, PostgreSQL
- Cloud-Storage: Uploadthing (Based on AWS S3)
-
Clone the repository:
git clone https://github.com/ImJoshiANE/Opinify.git cd Opinify
-
Install dependencies:
npm install
-
Set up environment variables (create a
.env
file):GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret DATABASE_URL=postgresql://username:password@host:port/database?sslmode=require NEXTAUTH_SECRET=your_nextauth_secret UPLOADTHING_SECRET=your_uploadthing_secret UPLOADTHING_APP_ID=your_uploadthing_app_id REDIS_URL=your_redis_url REDIS_SECRET=your_redis_secret
-
Run the development server:
npm run dev
Visit http://localhost:3000 to see the application in action.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a pull request
This project is licensed under the MIT License.