Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mtsfy/dotshare
Social platform to share posts.
https://github.com/mtsfy/dotshare
mongodb nextauth nextjs prisma
Last synced: 4 days ago
JSON representation
Social platform to share posts.
- Host: GitHub
- URL: https://github.com/mtsfy/dotshare
- Owner: mtsfy
- Created: 2023-09-29T21:49:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-08T15:18:27.000Z (8 months ago)
- Last Synced: 2024-05-08T19:25:46.839Z (8 months ago)
- Topics: mongodb, nextauth, nextjs, prisma
- Language: TypeScript
- Homepage: https://dotshare.vercel.app
- Size: 162 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
dotshare
## :page_facing_up: Description
Dotshare is a social platform where users can share posts and engage with other users.
## :gear: Tech Stack
- [Next.js 13](https://nextjs.org/)
- [MongoDB](https://www.mongodb.com/)
- [Prisma](https://www.prisma.io/)
- [Next Auth](https://next-auth.js.org/)
- [Tailwind CSS](https://tailwindcss.com/)
- [Next Cloudinary](https://next.cloudinary.com/)## :rocket: Features
- User authentication with Next Auth through multiple providers *(Google, Github, & Credentials)*
- Users can:
- Manage their posts *(Full CRUD)*
- Like and comment on posts
- Follow and unfollow users
- Save and unsave posts
- Edit their profile *(bio, profile picture, username, etc.)*## :hammer: Local Installation
### Clone the repository
```sh
$ git clone [email protected]:mtsfy/dotshare.git
$ cd dotshare
$ npm install
```Setup environment variables:
- [MongoDB](https://www.mongodb.com/cloud/atlas)
- [Next Auth](https://next-auth.js.org/getting-started/example)
- [Google](https://support.google.com/cloud/answer/6158849?hl=en)
- [Github](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app)
- [Next Cloudinary](https://next.cloudinary.dev/installation)```sh
DATABASE_URL= # MongoDB connection
NEXT_PUBLIC_NODE_ENV=development # change to production when deploying
NEXT_PUBLIC_GOOGLE_CLIENT_ID= # Google OAuth Client ID
NEXT_PUBLIC_GITHUB_CLIENT_ID= # Github OAuth Client ID
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME= # Next Cloudinary
```Start the frontend server:
```sh
$ npm run dev
```The frontend will start running on `http://localhost:3000`