Skip to content

Commit 3f5081b

Browse files
authored
Merge branch 'main' into header
2 parents 74784de + 268f723 commit 3f5081b

21 files changed

+852
-156
lines changed

.env.example

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1-
DATABASE_HOST = "localhost"
2-
DATABASE_NAME = "mydatabase"
3-
DATABASE_PORT = "5432"
4-
DATABASE_USERNAME = "myuser"
5-
DATABASE_PASSWORD = "mypassword"
6-
DATABASE_URL = "postgresql://USERNAME:PASSWORD@HOST:PORT/NAME?schema=public"
1+
DATABASE_URL="postgresql://postgres:example@localhost:5432/postgres"
2+
3+
# Next Auth Discord Provider
4+
# NOTE: The keys below where intentionally committed
5+
# so that beginners don't have to setup their own github app
6+
# just to contribute to this project. This app will only be
7+
# used for local development; it's not used in production.
8+
GITHUB_CLIENT_ID="63b03dd1a029181eede8"
9+
GITHUB_CLIENT_SECRET="fe61fec0056b571d01d0a1e25945904237d164e8"
10+
11+
NEXTAUTH_SECRET="my_ultra_secure_nextauth_secret"
12+
NEXTAUTH_URL="http://localhost:3000"

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Bug Report
2+
description: Create a bug report to help us improve
3+
title: "[BUG]: "
4+
labels:
5+
- "bug"
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for taking the time to fill out this bug report!
11+
- type: textarea
12+
id: description
13+
attributes:
14+
label: Description
15+
description: A clear and concise description of what the bug is.
16+
placeholder: Try to describe what happened...
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: reproduce
21+
attributes:
22+
label: Reproduction Steps
23+
description: How do you trigger this bug? Please walk us through it step by step.
24+
placeholder: |
25+
1. Go to '...'
26+
2. Click on '...'
27+
3. Scroll down to '...'
28+
...
29+
validations:
30+
required: true
31+
- type: textarea
32+
id: expected
33+
attributes:
34+
label: Expected Behaviour
35+
description: What did you expect to happen, or should happen ideally.
36+
placeholder: What should normally happen when steps are taken
37+
validations:
38+
required: true
39+
- type: textarea
40+
id: actual
41+
attributes:
42+
label: Actual Behaviour
43+
description: What actually happened.
44+
placeholder: What actually happened when steps were taken instead of what should happen?
45+
validations:
46+
required: true
47+
- type: dropdown
48+
id: os
49+
attributes:
50+
label: Operating System / Platform
51+
description: What operating system were you running?
52+
options:
53+
- Windows
54+
- Mac (iOS)
55+
- Linux / Unix
56+
- Android
57+
- iPhone (iOS)
58+
validations:
59+
required: true
60+
- type: dropdown
61+
id: browsers
62+
attributes:
63+
label: (optional) What browsers are you seeing the problem on?
64+
multiple: true
65+
options:
66+
- Firefox
67+
- Chrome
68+
- Safari
69+
- Microsoft Edge
70+
- type: textarea
71+
id: logs
72+
attributes:
73+
label: Relevant log output
74+
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
75+
render: bash
76+
- type: checkboxes
77+
id: terms
78+
attributes:
79+
label: Code of Conduct
80+
# description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com)
81+
description: By submitting this issue, you agree to follow our [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
82+
options:
83+
- label: I agree to follow this project's Code of Conduct
84+
required: true
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Feature Request
2+
description: Request a new feature for this project
3+
title: "[FEATURE]: "
4+
labels:
5+
- "feature"
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for taking the time to submit this feature request!
11+
- type: textarea
12+
id: summary
13+
attributes:
14+
label: Feature Summary
15+
description: A clear and concise description of the feature.
16+
placeholder: "Example: As a [user role], I want to [complete action] so that I can [achieve outcome]"
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: acceptance
21+
attributes:
22+
label: Acceptance criteria
23+
description: What would you consider to be completion for this feature?
24+
placeholder: |
25+
- [ ] [User Role] can [Action] [Resource]
26+
- [ ] [User Role] can also [Action] [Resource]
27+
- [ ] [Other User Role] cannot [Action] [Resource]
28+
...
29+
validations:
30+
required: true
31+
- type: textarea
32+
id: scenario
33+
attributes:
34+
label: Scenario
35+
description: Describe a scenario where this feature would be useful.
36+
placeholder: Under what circumstances would this feature be useful
37+
- type: textarea
38+
id: context
39+
attributes:
40+
label: Any Additional Context
41+
description: Any other context or additional information.
42+
placeholder: Any other context or additional information you wish to share about the proposed feature...
43+
- type: checkboxes
44+
id: terms
45+
attributes:
46+
label: Code of Conduct
47+
description: By submitting this issue, you agree to follow our [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
48+
options:
49+
- label: I agree to follow this project's Code of Conduct
50+
required: true

.github/ISSUE_TEMPLATE/task.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Task
2+
description: Request a new task for this project
3+
title: "[TASK]: "
4+
labels:
5+
- "task"
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for taking the time to submit this task request form!
11+
- type: textarea
12+
id: summary
13+
attributes:
14+
label: Task Summary
15+
description: A brief description of what the task will accomplish.
16+
placeholder: "Example: Make [x] do [y]"
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: acceptance
21+
attributes:
22+
label: Acceptance criteria
23+
description: What would you consider to be completion for this task?
24+
placeholder: |
25+
- [ ] [x] does/is [y] or [x] exists
26+
...
27+
validations:
28+
required: true
29+
- type: textarea
30+
id: context
31+
attributes:
32+
label: Any Additional Context
33+
description: Any other context or additional information.
34+
placeholder: Any other context or additional information you wish to share about the proposed feature...

.github/pull_request_template.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
title: Issue # |
3+
---
4+
5+
<!-- Please enusure your PR title follows the pattern:
6+
[Issue ID] | Short description of the changes made
7+
-->
8+
9+
## What type of PR is this? (select all that apply)
10+
11+
- [ ] 🍕 Feature
12+
- [ ] 🐛 Bug Fix
13+
- [ ] 🚧 Breaking Change
14+
- [ ] 🧑‍💻 Code Refactor
15+
- [ ] 📝 Documentation Update
16+
17+
## Description
18+
19+
<!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. -->
20+
21+
## Related Tickets & Documents
22+
23+
- Related Issue #
24+
- Closes #
25+
26+
## QA Instructions, Screenshots, Recordings
27+
28+
<!-- Please replace this line with instructions on how to test your changes, a note
29+
on the devices and browsers this has been tested on, as well as any relevant
30+
images for UI changes. -->
31+
32+
### UI accessibility concerns?
33+
34+
<!-- If your PR includes UI changes, please replace this line with details on how
35+
accessibility is impacted and tested. -->
36+
37+
## Added/updated tests?
38+
39+
- [ ] 👍 yes
40+
- [ ] 🙅 no, because they aren't needed
41+
- [ ] 🙋 no, because I need help
42+
43+
## [optional] Are there any post deployment tasks we need to perform?
44+
45+
## [optional] What gif best describes this PR or how it makes you feel?

CONTRIBUTING.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Contributing
2+
3+
When contributing to this repository, please first discuss the change you wish to make via [issues](https://github.com/webdevcody/code-racer/issues), [discord](https://discord.gg/4kGbBaa).
4+
5+
Please note if you are working on a certain issue then make sure to stay active with development.
6+
7+
## Git Commit, Branch, and PR Naming Conventions
8+
9+
When you are working with git, please be sure to follow the conventions below on your pull requests, branches, and commits:
10+
11+
```
12+
PR: [#ISSUE ID] Title of the PR
13+
Branch: [ISSUE ID]-title-of-the-pr (shorter)
14+
Commit: [[ISSUE ID]] [ACTION]: what was done
15+
```
16+
17+
Examples:
18+
19+
```
20+
PR: #2 Add Docker container for Postgres
21+
Branch: 2-add-container-postgres
22+
Commit: [2] feat: add docker container for postgres
23+
```
24+
25+
## Prerequisites
26+
27+
You will need to [install docker](https://www.docker.com/get-started/) on your local machine.
28+
29+
If you do not have docker, go here to download and install: https://www.docker.com/get-started/
30+
31+
If you are getting WSL error when you launch your desktop docker application, go here and follow these steps for windows: https://learn.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package.
32+
33+
## Installation
34+
35+
To get started with Code Racer locally, follow these steps
36+
37+
1. Fork my repo and clone your fork
38+
```sh
39+
git clone https://github.com/webdevcody/code-racer.git
40+
```
41+
2. Navigate to the project directory
42+
```sh
43+
cd code-racer
44+
```
45+
3. Install NPM packages
46+
```sh
47+
npm i
48+
```
49+
4. Generate a version of Prisma Client that is tailored to the models.
50+
```js
51+
npx prisma generate
52+
```
53+
5. Create a .env file inside the project's root directory.
54+
55+
6. Copy and paste variables from `.env.example` into `.env`
56+
57+
7. Open Docker Desktop Application and go back to your VSCode terminal and run this command:
58+
```sh
59+
docker compose up -d
60+
```
61+
8. Once your database is ready, push your prisma schema to the database.
62+
```sh
63+
npx prisma db push
64+
```
65+
9. Finally start your dev server.
66+
```sh
67+
npm run dev
68+
```
69+
70+
Open your browser and visit http://localhost:3000 to see the application running.
71+
72+
## Working on New Features
73+
74+
If you're new to github and working with open source repositories, I made a video a while back which walks you through the process:
75+
[![How to make a pull request on an open source project](https://img.youtube.com/vi/8A4TsoXJOs8/0.jpg)](https://youtu.be/8A4TsoXJOs8)
76+
77+
If you want to work on a new feature, follow these steps.
78+
79+
1. Fork the repo
80+
2. Clone your fork
81+
3. Checkout a new branch
82+
4. Do your work
83+
5. Commit
84+
6. Push your branch to your fork
85+
7. Go into github UI and create a PR from your fork & branch, and merge it into upstream MAIN
86+
87+
## Pulling in changes from upstream
88+
89+
You should pull in the changes that we add in daily, preferably before you checkout a new branch to do new work.
90+
91+
1. git checkout main
92+
2. git pull upstream main
93+
94+
## Code of Conduct
95+
96+
### Our Pledge
97+
98+
In the interest of fostering an open and welcoming environment, we as
99+
contributors and maintainers pledge to making participation in our project and
100+
our community a friendly experience for everyone, regardless of any experience to give everyone an opportunity to contribute in this project.
101+
102+
### Our Responsibilities
103+
104+
The primary responsibility of contributors is to provide high-quality code contributions to the project. This involves writing, reviewing, and submitting code changes that improve the project's functionality, fix bugs, or implement new features.
105+
106+
Contributors should actively participate in project discussions and communicate effectively with other contributors, maintainers, and users. This includes joining [discord](https://discord.gg/4kGbBaa) server solely created for this project.
107+
108+
Contributors can play a role in the long-term maintenance of the project by actively monitoring the project's issue tracker, addressing bug reports and feature requests, and collaborating with other contributors to ensure the project remains healthy and sustainable.
109+
110+
### Scope
111+
112+
This Code of Conduct applies both within project spaces and in public spaces
113+
when an individual is representing the project or its community. Examples of
114+
representing a project or community include using an official project e-mail
115+
address, posting via an official social media account, or acting as an appointed
116+
representative at an online or offline event. Representation of a project may be
117+
further defined and clarified by project maintainers.

0 commit comments

Comments
 (0)