Guild is a social media app where users can create profiles, connect with friends, share posts, photos, and videos, and engage with other users through likes, comments, and direct messaging. The app is built using Next.js and features a responsive design, real-time updates, and secure user authentication.
List of main features that are planned or already implemented in the app:
- User authentication and profile creation
- Friends and followers system
- Create and join Guilds
- Posts, photos, and video sharing
- Like and comment on posts
- Real-time updates using WebSockets (Pusher)
Instructions on how to install and set up the project locally:
- Clone the repository:
git clone https://github.com/tejas-gk/guild2.0.git
- Install dependencies:
npm install
oryarn install
- Configure environment variables
- Configure MongoDB in Prisma by
npx prisma generate
oryarn prisma generate
- Run the development server:
npm run dev
oryarn dev
- Open the app in your browser at
http://localhost:3000
I would recommend using yarn
We welcome contributions to make Guild even better! To contribute, follow these steps:
- Fork the repository
- Create a new branch:
git checkout -b feature/YourFeatureName
- Make your changes and commit:
git commit -m 'feat: feature'
- Follow Conventional Commits
- Push to the branch:
git push origin feature/YourFeatureName
- Open a pull request, describing your changes in detail
List of technologies and frameworks used in the project:
- Next.js - A popular framework for building React applications
- React - A popular JavaScript library for building user interfaces
- Pusher - For real-time updates and messaging
- Tailwind CSS - For styling the app
- Vitest - For testing the application
- Prisma - A popular ORM
- MongoDB - To store data
Some notable dependencies used in the project:
- swr - A React hook library for data fetching and caching
- zustand - A small, fast state management library for React
- RTL - A popular testing framework for JavaScript
- eslint - A tool for linting JavaScript code
- Playwright - A Node.js library to automate Chromium, Firefox and WebKit with a single API
- prettier - A tool for formatting code
Acknowledging contributors who have helped in the development of the project.