Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
701ed4e
Init
gantzoulis Sep 2, 2024
a3f667a
Layout 1
gantzoulis Sep 4, 2024
28e337d
Building the UI
gantzoulis Sep 12, 2024
a0a7fa8
Minor changes
gantzoulis Sep 13, 2024
fd54bf6
MID Section - Students CountChart
gantzoulis Sep 13, 2024
d8554de
AttendanceChart added in mid section
gantzoulis Sep 13, 2024
ce57381
Admin Dashboard Completed. Start of Student
gantzoulis Sep 17, 2024
9e6faeb
Big Calendar Student View
gantzoulis Sep 24, 2024
d9c36ab
Big Calendar - Style
gantzoulis Sep 24, 2024
9faa5d2
Styling
gantzoulis Sep 25, 2024
667da62
Parent-Teacher layouts
gantzoulis Oct 4, 2024
7ef802c
Lists Components
gantzoulis Oct 7, 2024
dea9fb7
Teachers List design
gantzoulis Oct 9, 2024
bfc176b
Students List Design
gantzoulis Oct 9, 2024
8f7824a
Parents and Subjects Lists
gantzoulis Oct 23, 2024
780cb7b
Icons
gantzoulis Oct 24, 2024
50c0a28
Teacher sole
gantzoulis Oct 30, 2024
800d407
Teacher Personal Page
gantzoulis Nov 11, 2024
1dd29ea
Student, Teacher Pages and some minor corrections
gantzoulis Nov 22, 2024
a14a8a8
FormModal
gantzoulis Dec 1, 2024
c38ff19
Form Modal
gantzoulis Dec 4, 2024
6a8b7cc
Design and basic functionalities finished
gantzoulis Dec 8, 2024
f15e2ac
Test
gantzoulis Dec 12, 2024
de4cc09
Prisma
gantzoulis Dec 18, 2024
98905f9
prisma
gantzoulis Dec 19, 2024
b172d63
DB Schema
gantzoulis Dec 20, 2024
2bf2ace
Schema
gantzoulis Jan 13, 2025
7798d49
Schema Local
gantzoulis Jan 14, 2025
fa83bc1
Merge branch 'PrismaFeature' of https://github.com/gantzoulis/dojangN…
gantzoulis Jan 14, 2025
82bdf85
New Schema Fix
gantzoulis Jan 14, 2025
49895d0
Prisma Init DB and Seed
gantzoulis Jan 20, 2025
a52e2d3
Prisma Schema update and some twinks
gantzoulis Jan 27, 2025
5c9df56
Prisma and some initial Queries
gantzoulis Feb 18, 2025
1d6c292
Schema
gantzoulis Mar 23, 2025
08f4663
Small Changes to Schema I
gantzoulis Apr 12, 2025
fa4fead
Fixes befor crunch
gantzoulis Apr 21, 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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,5 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts

.env.local
57 changes: 57 additions & 0 deletions .vscode/typescriptreact.json.code-snippets
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
// Place your dojangNext workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }


"comp": {
"prefix": "comp",
"body": [
"const ${1:${TM_FILENAME_BASE/(.)(.*)/${1:/capitalize}${2}/}} = () => {",
" return (",
" <div>${1:${TM_FILENAME_BASE/(.)(.*)/${1:/capitalize}${2}/}}</div>",
" )",
"}",
"",
"export default ${1:${TM_FILENAME_BASE/(.)(.*)/${1:/capitalize}${2}/}}"
],
"description": "Create a component"
},
"compt": {
"prefix": "compt",
"body": [
"const ${1:${TM_FILENAME_BASE/(.)(.*)/${1:/capitalize}${2}/}} = () => {",
" return (",
" <div className=''>${1:${TM_FILENAME_BASE/(.)(.*)/${1:/capitalize}${2}/}}</div>",
" )",
"}",
"",
"export default ${1:${TM_FILENAME_BASE/(.)(.*)/${1:/capitalize}${2}/}}"
],
"description": "Create a component with tailwind classname"
},

"divt": {
"prefix": "divt",
"body": [

"<div className=''></div>",
],
"description": "Create a component with tailwind classname"
}


}
10 changes: 10 additions & 0 deletions calendarEvents.jsonl
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{"title": "Math","allDay": false,"start": "","end": ""}
{"title": "English","allDay": false,"start": "","end": ""}
{"title": "Biology","allDay": false,"start": "","end": ""}
{"title": "Physics","allDay": false,"start": "","end": ""}
{"title": "Chemistry","allDay": false,"start": "","end": ""}
{"title": "History","allDay": false,"start": "","end": ""}
{"title": "English","allDay": false,"start": "","end": ""}
{"title": "Biology","allDay": false,"start": "","end": ""}
{"title": "Physics","allDay": false,"start": "","end": ""}
{"title": "History","allDay": false,"start": "","end": ""}
90 changes: 90 additions & 0 deletions convex/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Welcome to your Convex functions directory!

Write your Convex functions here.
See https://docs.convex.dev/functions for more.

A query function that takes two arguments looks like:

```ts
// functions.js
import { query } from "./_generated/server";
import { v } from "convex/values";

export const myQueryFunction = query({
// Validators for arguments.
args: {
first: v.number(),
second: v.string(),
},

// Function implementation.
handler: async (ctx, args) => {
// Read the database as many times as you need here.
// See https://docs.convex.dev/database/reading-data.
const documents = await ctx.db.query("tablename").collect();

// Arguments passed from the client are properties of the args object.
console.log(args.first, args.second);

// Write arbitrary JavaScript here: filter, aggregate, build derived data,
// remove non-public properties, or create new objects.
return documents;
},
});
```

Using this query function in a React component looks like:

```ts
const data = useQuery(api.functions.myQueryFunction, {
first: 10,
second: "hello",
});
```

A mutation function looks like:

```ts
// functions.js
import { mutation } from "./_generated/server";
import { v } from "convex/values";

export const myMutationFunction = mutation({
// Validators for arguments.
args: {
first: v.string(),
second: v.string(),
},

// Function implementation.
handler: async (ctx, args) => {
// Insert or modify documents in the database here.
// Mutations can also read from the database like queries.
// See https://docs.convex.dev/database/writing-data.
const message = { body: args.first, author: args.second };
const id = await ctx.db.insert("messages", message);

// Optionally, return a value from your mutation.
return await ctx.db.get(id);
},
});
```

Using this mutation function in a React component looks like:

```ts
const mutation = useMutation(api.functions.myMutationFunction);
function handleButtonPress() {
// fire and forget, the most common way to use mutations
mutation({ first: "Hello!", second: "me" });
// OR
// use the result once the mutation has completed
mutation({ first: "Hello!", second: "me" }).then((result) =>
console.log(result),
);
}
```

Use the Convex CLI to push your functions to a deployment. See everything
the Convex CLI can do by running `npx convex -h` in your project root
directory. To learn more, launch the docs with `npx convex docs`.
40 changes: 40 additions & 0 deletions convex/_generated/api.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/* prettier-ignore-start */

/* eslint-disable */
/**
* Generated `api` utility.
*
* THIS CODE IS AUTOMATICALLY GENERATED.
*
* To regenerate, run `npx convex dev`.
* @module
*/

import type {
ApiFromModules,
FilterApi,
FunctionReference,
} from "convex/server";
import type * as calendarEvents from "../calendarEvents.js";

/**
* A utility for referencing Convex functions in your app's API.
*
* Usage:
* ```js
* const myFunctionReference = api.myModule.myFunction;
* ```
*/
declare const fullApi: ApiFromModules<{
calendarEvents: typeof calendarEvents;
}>;
export declare const api: FilterApi<
typeof fullApi,
FunctionReference<any, "public">
>;
export declare const internal: FilterApi<
typeof fullApi,
FunctionReference<any, "internal">
>;

/* prettier-ignore-end */
26 changes: 26 additions & 0 deletions convex/_generated/api.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/* prettier-ignore-start */

/* eslint-disable */
/**
* Generated `api` utility.
*
* THIS CODE IS AUTOMATICALLY GENERATED.
*
* To regenerate, run `npx convex dev`.
* @module
*/

import { anyApi } from "convex/server";

/**
* A utility for referencing Convex functions in your app's API.
*
* Usage:
* ```js
* const myFunctionReference = api.myModule.myFunction;
* ```
*/
export const api = anyApi;
export const internal = anyApi;

/* prettier-ignore-end */
62 changes: 62 additions & 0 deletions convex/_generated/dataModel.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/* prettier-ignore-start */

/* eslint-disable */
/**
* Generated data model types.
*
* THIS CODE IS AUTOMATICALLY GENERATED.
*
* To regenerate, run `npx convex dev`.
* @module
*/

import { AnyDataModel } from "convex/server";
import type { GenericId } from "convex/values";

/**
* No `schema.ts` file found!
*
* This generated code has permissive types like `Doc = any` because
* Convex doesn't know your schema. If you'd like more type safety, see
* https://docs.convex.dev/using/schemas for instructions on how to add a
* schema file.
*
* After you change a schema, rerun codegen with `npx convex dev`.
*/

/**
* The names of all of your Convex tables.
*/
export type TableNames = string;

/**
* The type of a document stored in Convex.
*/
export type Doc = any;

/**
* An identifier for a document in Convex.
*
* Convex documents are uniquely identified by their `Id`, which is accessible
* on the `_id` field. To learn more, see [Document IDs](https://docs.convex.dev/using/document-ids).
*
* Documents can be loaded using `db.get(id)` in query and mutation functions.
*
* IDs are just strings at runtime, but this type can be used to distinguish them from other
* strings when type checking.
*/
export type Id<TableName extends TableNames = TableNames> =
GenericId<TableName>;

/**
* A type describing your Convex data model.
*
* This type includes information about what tables you have, the type of
* documents stored in those tables, and the indexes defined on them.
*
* This type is used to parameterize methods like `queryGeneric` and
* `mutationGeneric` to make them type-safe.
*/
export type DataModel = AnyDataModel;

/* prettier-ignore-end */
Loading