Merge pull request #67 from mrepol742/master · hallofcodes/devpulse@ae9cda9 · GitHub
Skip to content

Commit ae9cda9

Browse files
authored
Merge pull request #67 from mrepol742/master
feat: introduce the new Devpulse
2 parents c716d6d + f25a1d7 commit ae9cda9

189 files changed

Lines changed: 8395 additions & 6167 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.env.example‎

Lines changed: 31 additions & 6 deletions

‎.github/workflows/build.yml‎

Lines changed: 0 additions & 60 deletions
This file was deleted.

‎.gitignore‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,5 @@ supabase/*
5454

5555
yarn.lock
5656
pnpm-lock.yaml
57+
58+
/app/generated/prisma

‎README.md‎

Lines changed: 7 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,26 @@
1-
<img src="public/images/devpulse.cover.png" alt="Screenshot of the floating console extension in action" width="600">
2-
1+
<img src="public/images/devpulse.cover.png" alt="Devpulse" width="600">
2+
33
# devpulse
44

55
Measure and share your coding productivity with personalized leaderboards. Compare your progress with peers while keeping full control over privacy and leaderboard settings with project management features.
66

77
## Getting Started
8+
89
Install the dependencies:
910

1011
npm install
11-
```
12-
13-
## Supabase
1412

15-
First by creating a supabase cloud project:
16-
17-
- go to [Supabase Dashboard](https://app.supabase.com)
18-
- click `New Project`
19-
- choose:
20-
- Organization → (create one if needed)
21-
- Project Name → e.g. devpulse
22-
- Database Password → choose a secure one
23-
- Region → pick the nearest location
24-
- Click Create new project
25-
- Wait a few moments for the database to be provisioned.
13+
````
2614
2715
## Setup Environment
2816
2917
Copy the .env.example to .env
3018
3119
```bash
3220
cp .env.example .env
21+
````
3322

34-
# Open .env and fill in the values for:
35-
# NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
36-
# NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
37-
```
23+
and fill in the values for the environment variables.
3824

3925
## Development
4026

@@ -46,80 +32,6 @@ npm run dev
4632

4733
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
4834

49-
## Database Migrations
50-
51-
For a brand-new Supabase project, use this flow from the repo root.
52-
53-
This repository now uses a squashed baseline migration for fresh installs:
54-
55-
- Active baseline: `supabase/migrations/20260407120000_baseline_fresh_setup.sql`
56-
57-
- Historical migrations archive: `supabase/migrations_archive/`
58-
59-
1. Login to Supabase CLI:
60-
61-
```bash
62-
npx supabase login
63-
```
64-
65-
2. Initialize local Supabase config (only if missing):
66-
67-
```bash
68-
npx supabase init
69-
```
70-
71-
3. Link this repo to your cloud project:
72-
73-
```bash
74-
npx supabase link
75-
```
76-
77-
You can select from the project list, or run `npx supabase link --project-ref <project-ref>`.
78-
79-
4. Push all migrations to the new project:
80-
81-
```bash
82-
npx supabase db push
83-
```
84-
85-
On a fresh project this applies only the single baseline migration.
86-
87-
5. (Optional) Pull remote schema changes into migrations:
88-
89-
```bash
90-
npx supabase db pull
91-
```
92-
93-
6. Regenerate Supabase TypeScript types after schema changes:
94-
95-
```bash
96-
npx supabase gen types typescript --project-id <project-id> --schema public > app/supabase-types.ts
97-
```
98-
99-
If you want to re-run the full migration chain on local development:
100-
101-
```bash
102-
npx supabase db reset
103-
```
104-
105-
If you need to inspect migration history, use the files in `supabase/migrations_archive/`.
106-
107-
108-
## Learn More
109-
110-
To learn more about Next.js, take a look at the following resources:
111-
112-
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
113-
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
114-
115-
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
116-
117-
## Deploy on Vercel
118-
119-
The easiest way to deploy this Next.js app is to use the [Vercel Platform](https://vercel.com/new/clone?repository-url=https://github.com/mrepol742/devpulse) from the creators of Next.js.
120-
121-
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
122-
12335
## Contribution Guidelines
12436

12537
Contributions to devpulse are welcome! Please follow these guidelines:
@@ -135,4 +47,5 @@ Contributions to devpulse are welcome! Please follow these guidelines:
13547
Help us keep the codebase ("Devpulse") clean, stable, and maintainable.
13648

13749
## License
50+
13851
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

‎app/(public)/(auth)/forgot-password/page.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export default function ForgotPasswordPage() {
4444
return (
4545
<Suspense
4646
fallback={
47-
<div className="min-h-screen flex items-center justify-center bg-[#0a0a1a] text-white">
47+
<div className="min-h-screen flex items-center justify-center ">
4848
Loading...
4949
</div>
5050
}

‎app/(public)/(auth)/login/page.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export default async function LoginPage() {
5757
return (
5858
<Suspense
5959
fallback={
60-
<div className="min-h-screen flex items-center justify-center bg-[#0a0a1a] text-white">
60+
<div className="min-h-screen flex items-center justify-center ">
6161
Loading...
6262
</div>
6363
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { Suspense } from "react";
2+
import Logout from "@/app/components/auth/Logout";
3+
import { auth } from "@/app/lib/auth";
4+
import { redirect } from "next/navigation";
5+
6+
export default async function LogoutPage() {
7+
const session = await auth();
8+
9+
if (!session) {
10+
return redirect("/login");
11+
}
12+
13+
return (
14+
<Suspense
15+
fallback={
16+
<div className="min-h-screen flex items-center justify-center">
17+
Loading...
18+
</div>
19+
}
20+
>
21+
<Logout />
22+
</Suspense>
23+
);
24+
}

‎app/(public)/(auth)/reset-password/page.tsx‎

Lines changed: 24 additions & 24 deletions

0 commit comments

Comments
 (0)