rohitdasu / projectmate

Supercharge your open-source contributions with projectmate.net; Discover open-source projects, connect with experienced maintainers, and collaborate with a community of passionate contributors. Join over 200+ registered users who are already making a difference
https://projectmate.net
MIT License
148 stars 107 forks source link
figma good-first-issue hacktoberfest mongodb nextjs nextjs-auth open-source prisma reactjs tailwindcss typescript

PROJECTMATE - Supercharge your open-source contributions

COVER-PROJECTMATE

Discover open-source projects, connect with experienced maintainers, and collaborate with a community of passionate contributors. Join over 200+ registered users who are already making a difference

Demo

Check out the web app 🌏 : https://projectmate.net/

LandingPage Screenshot

Connect with us

As a community, we always encourage people to share their thoughts and ideas. Do you want to talk to us? Join and Follow our Discord server and Twitter page ⬇️

DISCORD - Join TWITTER - Join

Figma design:

FIGMA - View

Tech stack

Next.js tailwind css MongoDB Prisma Figma

  1. Frontend - Next.js Client
  2. CSS Framework - Tailwind CSS
  3. Backend - NextJS APIs + Next Auth + MongoDB + Prisma ORM
  4. Design & Prototype - Figma

Installation steps

Standard installation

Prerequisites

Before getting into it, make sure you have yarn and prisma installed.


  1. Fork the project πŸ”§

  2. Clone the project by running the following command on the terminal πŸ”½

    git clone https://github.com/<your-github-username>/projectmate.git
  3. Go into the project directory πŸ”½

    cd projectmate
  4. Create an .env file from the .env.template file (copy everything in the .env.template file and put it in the .env file with appropriate values) πŸ“„

    • MONGODB_URI is the connection string which you'll get from mongodb for reference.
    • NEXTAUTH_SECRET Just pass any random string or you can quickly create a good value on the command line via this openssl command.
    openssl rand -base64 32
  5. Install all the dependencies βœ…

    yarn
  6. Synchronize your Prisma schema with your database schema πŸ—ƒ

    yarn prisma db push
  7. Insert required data to your database βœ…

    yarn prisma db seed
  8. Start the application development server πŸš€

    yarn run dev


Installation using docker

NOTE: Docker set up is highly recommended mainly on linux systems due to possible performance issues on other platforms.

  1. Fork the project πŸ”§

  2. Clone the project by running the following command on the terminal πŸ”½

    git clone https://github.com/<your-github-username>/projectmate.git
  3. Go into the project directory πŸ”½

    cd projectmate
  4. Create an .env file from the .env.template file (copy everything in the .env.template file and put it in the .env file with appropriate values) πŸ“„

    • MONGODB_URI is the connection string, in this case your connection string should look exactly like this mongodb://root:root@mongo:27017/projectmate?authSource=admin
    • NEXTAUTH_SECRET Just pass any random string or you can quickly create a good value on the command line via this openssl command.
    openssl rand -base64 32
  5. Build docker containers πŸ”½

    docker compose build
  6. Start containers in a background πŸ”½

    docker compose up -d
  7. Synchronize your Prisma schema with your database schema πŸ—ƒ

    docker compose exec web yarn prisma db push
  8. Insert required data to your database βœ…

    docker compose exec web yarn prisma db seed

    You can access logs from web or mongo container by docker compose logs e.g:

    docker compose logs web -f

    If you want to stop containers just run:

    docker compose stop

    Or if you want to stop and remove containers, networks:

    docker compose down


NOTE: If you want to add new package, you must use

 docker compose exec web yarn add [package]

Then (also if you pulled branch with changes to package.json) rebuild containers:

 docker compose up --build -d

You cannot perform yarn build from your local machine - you need to use:

 docker compose exec web yarn build

Contributing Guidelines πŸ“œ

Any contributions you make are truly appreciated, go to our CONTRIBUTING.md file for more information on how to contribute.

Code of Conduct πŸ“œ

View CODE_OF_CONDUCT.md

Contributors ✨

Support ⭐

Don't forget to support us by leaving a star ⭐

License πŸ“ƒ

projectmate is licensed under the MIT License - see the LICENSE file for the details.