A Twitter‑style feed and social app built with Next.JS, NextAuth, MongoDB and Tailwind CSS. Developed as part of ReDI School Germany’s Fullstack Development Bootcamp curriculum.
Live Demo: https://mig33.vercel.app/
- User Authentication (Email/Password & Google/Github OAuth)
- Create, Read & List Tweets
- Upload Images With Cloudinary or Fetch GIF From Giphy API
- Edit (Update) & Delete Own Tweets If Authenticated
- Like and Comment Tweets
- User Profiles with their own tweet feeds
- Theme Switcher (Dark/Light mode)
- Responsive UI using Tailwind CSS
- Server‑side API routes in Next.js
- Database ORM powered by Mongoose
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Styling | Tailwind CSS, Custom CSS |
| Authentication | NextAuth.js |
| ORM / Database | Mongoose (MongoDB) |
| Language | JavaScript |
| Deployment | Vercel |
-
Fork & clone this repo:
git clone https://github.com/priyoarman/redilink.git cd redilink -
Install dependencies:
npm install # or yarn install # or pnpm install
-
Environment variables Create a
.env.localfile at the project root and add:MONGODB_URI="mongodb+srv://..." NEXTAUTH_SECRET="a-long-random-string" NEXTAUTH_URL="http://localhost:3000" NEXT_PUBLIC_APP_URL="http://localhost:3000" NEXT_PUBLIC_NEWS_API=2c2d5c20c3a84c6e832a2e15d0274587
If you use OAuth providers (e.g. GitHub, Google), also add:
GOOGLE_CLIENT_ID="your-google-cloud-console-generated-id" GOOGLE_CLIENT_SECRET="your-google-cloud-console-generated-secret" GITHUB_CLIENT_ID="your-github-developer-generated-id" GITHUB_CLIENT_SECRET="your-github-developer-generated-secret"
To get the feature of IMAGE upload, and GIF fetch, add:
CLOUDINARY_CLOUD_NAME="your-cloudinary-generated-name" CLOUDINARY_API_KEY="your-cloudinary-generated-key" CLOUDINARY_API_SECRET="your-cloudinary-generated-secret" GIPHY_API_KEY="your-giphy-generated-key"
-
Run mongoose migrations (if you're using MongoDB):
npm install mongoose
-
Start the dev server:
npm run dev # then open http://localhost:3000 in your browser
| Command | Description |
|---|---|
npm run dev |
Run in development mode |
npm run build |
Build for production |
npm run start |
Start the production server |
npm run lint |
Run ESLint |
npm run format |
Run Prettier |
This app is deployed to Vercel:
- Push your code to GitHub.
- Import the repo in Vercel.
- Add the same environment variables in Vercel’s dashboard.
- Deploy!
Contributions, issues and feature requests are welcome!
- Fork the repo
- Create your feature branch (
git checkout -b feature/fooBar) - Commit your changes (
git commit -a -m 'Add some fooBar') - Push to the branch (
git push origin feature/fooBar) - Open a Pull Request
Distributed under the MIT License.