Skip to content

MLH-Fellowship/gitdash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

pod-3.1.3-team-3

forthebadge forthebadge

GitDash

Maintain peak productivity by knowing exactly what you need to work on and when you need to work on it.

Introduction

As software developers, we have often started new projects and then we forgot about it. This mostly happens because we don't track what items we are working on and what the deadline is. We might track a single repo and all the issues on it but what if we had one place which would track all of our issues and send us reminders when we don't work a specific deadline irrespective of what the repository may be. Presenting to you, GitDash...

homepage

🎯 Features

  • Get all the repos, issues and pull requests you are working on.
  • Star the repositories that you are working on immediately to get their information ASAP
  • Create your profile with the details from your GitHub account and stand out from the crowd.
  • Get notifications of the what you are working on, when you are working on it.

Dashboard Preview

In this section, you can see the dashboard of your profile and the details that would appear as soon as you log in. This is for quick access to the things that are most important to you.

dashboard

πŸ“– Documentation Details

This is a Next.js project bootstrapped with create-next-app.

⚑ Installation

Client side

First install the dependencies for the project:

cd client
npm install

Then, run the development server:

npm run dev

Server side

Pre-requisites

Please ensure you have:

In order for favourites feature to work you must run the server api.

First install the dependencies for the project:

cd server
dotnet build

Then, run the development server:

cd server/api
dotnet run

GitHub Authentication

To get the GitHub authentication to work, you need to create a .env file in the client directory with the following content

GITHUB_ID=<your_github_client_id>
GITHUB_SECRET=<your_github_client_secret>
AUTH_SECRET=<your_auth_secret>
JWT_SECRET=<your_auth_secret>

Follow the guide here to create a new GitHub OAuth app.

The details should look something like this:

OAuth App Details

On creating the OAuth app on GitHub, you need to set the GITHUB_ID in the .env file as the Client ID you see in the GitHub OAuth App in your account, and the GITHUB_SECRET to the Client Secret that you generate. Refer to the image below for more details

GitHub OAuth App Creds

After adding the GITHUB_ID and GITHUB_SECRET to your .env create two more values called AUTH_SECRET and JWT_SECRET which you can generate yourself as any string which will be used to authenticate with Github.

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.tsx. The page auto-updates as you edit the file.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.tsx.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

Server side and Cockroach Cloud Setup

To set up cockroachDb cloud follow instructions here To connect to cockroachDb, edit the connection stringsd in the appsettings.Development.json file in the server/api directory with the following content:

...
  "ConnectionStrings": {
    "DefaultConnection": "Server={host}; Port={port}; User Id={user}; Password={password}; Database={cluster.database}; SSL Mode=Require; Root Certificate={certificate location}; Trust Server Certificate=true"
...

Where:

  • {host} is your host name
  • {port} is your port number
  • {user} is your user to connect to cockroachDB
  • {password} is your password to connect to cockroachDB
  • {cluster} is your cluster name
  • {certificate location} is the directory location to your certificate (Cloud cockroachDB requires SSL)

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

πŸš€ Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

πŸ”§ Tech Stack

  • Next.js
  • Cockroach DB Cloud
  • TypeScript
  • Chakra UI
  • Octokit Core.js
  • .Net
  • Entity Framework Core

πŸ‘¨β€πŸ’» Contributors


Alesana Lealofi Eteuati Jr


Anand Rajaram


Prakhar Rathi