Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
eeb72f4
Added the courses UI from the old website design to the new website, …
kaificial Sep 1, 2025
86daff8
Merge pull request #29 from kaificial/courses-fixed
ReEnvisionGlobal Sep 1, 2025
caf843e
change background color of take action
NEOLabs-software Sep 2, 2025
72a5a2f
change text colors
NEOLabs-software Sep 2, 2025
ca5ba72
remove extra button in hero section
NEOLabs-software Sep 2, 2025
5f1af4e
remove call to action
NEOLabs-software Sep 2, 2025
3810e77
edit courses card
NEOLabs-software Sep 2, 2025
1a19954
lint
NEOLabs-software Sep 2, 2025
7e77db3
update to eslint due to next lint deprecation
NEOLabs-software Sep 2, 2025
5ce1643
lint again
NEOLabs-software Sep 2, 2025
9c0d508
update to latest nextjs
NEOLabs-software Sep 2, 2025
741a216
add courses flow
NEOLabs-software Sep 3, 2025
aeaee24
remove stripe
NEOLabs-software Sep 4, 2025
c9749c8
update todo
NEOLabs-software Sep 4, 2025
563c92e
update todo
NEOLabs-software Sep 4, 2025
09a0a1f
add psql and nano
NEOLabs-software Sep 25, 2025
648d135
trick drizzle migration into thinking it migrated successfully
NEOLabs-software Sep 25, 2025
511f89c
update upload backendd
NEOLabs-software Sep 25, 2025
b37527d
Revert "trick drizzle migration into thinking it migrated successfully"
NEOLabs-software Sep 25, 2025
0ae0b8d
get backend for uploading courses functioning
NEOLabs-software Sep 25, 2025
c437804
fix
NEOLabs-software Sep 25, 2025
b604ce3
finish frontend for admin dash
NEOLabs-software Sep 25, 2025
0a28ccc
fix frontend
NEOLabs-software Sep 26, 2025
33f81e5
fix delete and edit api route
NEOLabs-software Sep 26, 2025
8792053
lint
NEOLabs-software Sep 26, 2025
85c56e9
standardize api routes
NEOLabs-software Sep 26, 2025
b1c5a29
lint
NEOLabs-software Sep 26, 2025
d64f570
fix frontend
NEOLabs-software Sep 26, 2025
16062e0
fix dynamic routing and refractor markdown renderer
NEOLabs-software Sep 26, 2025
fba6d6f
finalize the dynamic routing
NEOLabs-software Sep 26, 2025
90d0e89
lint
NEOLabs-software Sep 26, 2025
2e8c974
fix spacing
NEOLabs-software Sep 29, 2025
e2d91c1
add paypal payment
NEOLabs-software Sep 30, 2025
3ccc722
update success page
NEOLabs-software Sep 30, 2025
4309ea5
the most unholy lint(revert if needed)
NEOLabs-software Sep 30, 2025
dc8c687
remove popup
NEOLabs-software Oct 1, 2025
f698e03
Merge branch 'master' into payment
NEOLabs-software Oct 9, 2025
802c36c
pulll schema
NEOLabs-software Oct 9, 2025
70b16e2
upgrade to nextjs security patch
NEOLabs-software Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,3 @@ yarn-error.log*
*.tsbuildinfo
next-env.d.ts
.env*.local

# email crap

email.js
2 changes: 2 additions & 0 deletions .idx/dev.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
packages = [
pkgs.nodejs_20
pkgs.gh
pkgs.nano
pkgs.postgresql
];
idx.extensions = [

Expand Down
47 changes: 45 additions & 2 deletions TODO
Original file line number Diff line number Diff line change
@@ -1,2 +1,45 @@
add a signout button too
fix carrousel bug thing
======================== TO DO LIST ========================

- fix carrousel bug thing
- create database table, schema, and drizzle thing to host the courses
- create backend that communicates with database for courses
- create backend for admmin dashboard that adds courses
- replace signout with a profile picture that when you click on it, you get access to settings and a logout button



======================== Ideas ========================


--------------- courses flow ---------------

Key:

- is see
> is do
+ is any api requests or backend
| end

> course is published on admin dashboard
- user sees course on the courses catalog
> user clicks on course
- user sees details
- user decides they want to take it
> user clicks on enroll button
+ enroll button runs a function to create a checkout
+ a secure paypal checkout with designated price and product name gets generated
- user sees paypal payment portal
> user pays
+ payment gets logged into paypal and recieves a receipt with remind code
- user sees remind code
> user joins remind
> admin approves user into class after verifying that they payed on the paypal
| user gets to see meeting links and other details on remind


--------------- account settings ---------------

- profile picture (default generated by jdenticons)
- Name
- email (will require reverif)
- password (will require old password)
6 changes: 3 additions & 3 deletions drizzle/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
imageUrl: text("image_url"),
eventTitle: text("event_title").notNull(),
eventDate: timestamp("event_date", { mode: 'string' }).notNull(),
eventDesc: text("event_desc").notNull(),

Check warning on line 11 in drizzle/schema.ts

View workflow job for this annotation

GitHub Actions / lint

'sql' is defined but never used
createdAt: timestamp("created_at", { mode: 'string' }).defaultNow().notNull(),
createdBy: text("created_by"),
updatedAt: timestamp("updated_at", { mode: 'string' }).defaultNow().notNull(),
Expand All @@ -35,16 +35,16 @@
email: varchar({ length: 255 }).notNull(),
password: text().notNull(),
name: text().notNull(),
profilePicture: text("profile_picture").default('skibiditoilet').notNull(),
createdAt: timestamp("created_at", { mode: 'string' }).defaultNow().notNull(),
resetKey: text("reset_key"),
createdAt: timestamp("created_at", { mode: 'string' }).defaultNow().notNull(),
resetKeyExpires: timestamp("reset_key_expires", { mode: 'string' }),
lastReset: timestamp("last_reset", { mode: 'string' }),
emailVerified: boolean("email_verified").default(false).notNull(),
emailVerificationKey: text("email_verification_key"),
emailVerificationKeyExpires: timestamp("email_verification_key_expires", { mode: 'string' }),
isAdmin: boolean("is_admin").default(false).notNull(),
isBanned: boolean("is_banned").default(false).notNull(),
lastReset: timestamp("last_reset", { mode: 'string' }),
profilePicture: text("profile_picture").default('skibiditoilet').notNull(),
newEmail: varchar("new_email", { length: 255 }),
newEmailVerificationKey: text("new_email_verification_key"),
newEmailVerificationKeyExpires: timestamp("new_email_verification_key_expires", { mode: 'string' }),
Expand Down
9 changes: 9 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ const compat = new FlatCompat({
});

const eslintConfig = [
{
ignores: [
"node_modules/**",
".next/**",
"out/**",
"build/**",
"next-env.d.ts",
],
},
...compat.extends(
"next/core-web-vitals",
"next/typescript",
Expand Down
Loading
Loading