mirror of
https://github.com/fergalmoran/kidarr-server.git
synced 2025-12-22 09:17:51 +00:00
Rename done
This commit is contained in:
22
README.md
22
README.md
@@ -1,18 +1,18 @@
|
||||
# ParentGrine Server🚀
|
||||
# Kidarr Server🚀
|
||||
|
||||
Welcome to ParentGrine, the ultimate child location tracking app that prioritizes safety and peace of mind for parents!
|
||||
Welcome to Kidarr, the ultimate child location tracking app that prioritizes safety and peace of mind for parents!
|
||||
🌟
|
||||
|
||||
[](LICENSE)
|
||||
[](https://github.com/parentgrine/parentgrine-server/issues)
|
||||
[](https://github.com/parentgrine/parentgrine-server/stargazers)
|
||||
[](https://github.com/parentgrine/parentgrine-server/network)
|
||||
[](https://github.com/kid-arr/kidarr-server/issues)
|
||||
[](https://github.com/kid-arr/kidarr-server/stargazers)
|
||||
[](https://github.com/kid-arr/kidarr-server/network)
|
||||
|
||||
## Overview
|
||||
|
||||
ParentGrine is a secure and user-friendly mobile application designed to help parents keep track of their children's
|
||||
Kidarr is a secure and user-friendly mobile application designed to help parents keep track of their children's
|
||||
whereabouts in real-time. With advanced location tracking features, intuitive UI, and robust security measures,
|
||||
ParentGrine provides parents with the peace of mind they deserve.
|
||||
Kidarr provides parents with the peace of mind they deserve.
|
||||
|
||||
## Features
|
||||
|
||||
@@ -36,12 +36,12 @@ ParentGrine provides parents with the peace of mind they deserve.
|
||||
|
||||
### Installation
|
||||
|
||||
1. Clone the repository: `git clone https://github.com/parentgrine/parentgrine-server.git`
|
||||
1. Clone the repository: `git clone https://github.com/kid-arr/kidarr-server.git`
|
||||
2. Follow the installation instructions in the [documentation](docs/INSTALL.md).
|
||||
|
||||
## Usage
|
||||
|
||||
1. Open the ParentGrine app on your child's device.
|
||||
1. Open the Kidarr app on your child's device.
|
||||
2. Log in with your parent account.
|
||||
3. Enjoy peace of mind by tracking your child's location.
|
||||
|
||||
@@ -55,10 +55,10 @@ Check out our [contribution guidelines](CONTRIBUTING.md) for more information.
|
||||
## Support
|
||||
|
||||
If you encounter any issues or have questions, feel free
|
||||
to [open an issue](https://github.com/parentgrine/parentgrine-server/issues). We're here to help!
|
||||
to [open an issue](https://github.com/kid-arr/kidarr-server/issues). We're here to help!
|
||||
|
||||
## License
|
||||
|
||||
ParentGrine is licensed under the [MIT License](LICENSE).
|
||||
Kidarr is licensed under the [MIT License](LICENSE).
|
||||
|
||||
Happy tracking! 🌍✨
|
||||
|
||||
32
package.json
32
package.json
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "parentgrine-server",
|
||||
"name": "kidarr",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
@@ -14,7 +14,7 @@
|
||||
"dependencies": {
|
||||
"@auth/drizzle-adapter": "^0.3.14",
|
||||
"@faker-js/faker": "^8.3.1",
|
||||
"@hookform/resolvers": "^3.3.3",
|
||||
"@hookform/resolvers": "^3.3.4",
|
||||
"@radix-ui/react-accordion": "^1.1.2",
|
||||
"@radix-ui/react-alert-dialog": "^1.0.5",
|
||||
"@radix-ui/react-aspect-ratio": "^1.0.3",
|
||||
@@ -43,17 +43,17 @@
|
||||
"@radix-ui/react-toggle-group": "^1.0.4",
|
||||
"@radix-ui/react-tooltip": "^1.0.7",
|
||||
"@t3-oss/env-nextjs": "^0.7.1",
|
||||
"@tanstack/react-query": "^4.36.1",
|
||||
"@trpc/client": "^10.43.6",
|
||||
"@trpc/next": "^10.43.6",
|
||||
"@trpc/react-query": "^10.43.6",
|
||||
"@trpc/server": "^10.43.6",
|
||||
"@tanstack/react-query": "^4.35.3",
|
||||
"@trpc/client": "^10.45.0",
|
||||
"@trpc/next": "^10.45.0",
|
||||
"@trpc/react-query": "^10.45.0",
|
||||
"@trpc/server": "^10.45.0",
|
||||
"class-variance-authority": "^0.7.0",
|
||||
"clsx": "^2.1.0",
|
||||
"cmdk": "^0.2.0",
|
||||
"date-fns": "^3.0.6",
|
||||
"date-fns": "^3.1.0",
|
||||
"drizzle-orm": "^0.29.3",
|
||||
"embla-carousel-react": "^8.0.0-rc17",
|
||||
"embla-carousel-react": "^8.0.0-rc19",
|
||||
"generate-api-key": "^1.0.2",
|
||||
"http-status-codes": "^2.3.0",
|
||||
"leaflet": "^1.9.4",
|
||||
@@ -67,7 +67,7 @@
|
||||
"react": "18.2.0",
|
||||
"react-day-picker": "^8.10.0",
|
||||
"react-dom": "18.2.0",
|
||||
"react-hook-form": "^7.49.2",
|
||||
"react-hook-form": "^7.49.3",
|
||||
"react-leaflet": "^4.2.1",
|
||||
"react-qr-code": "^2.0.12",
|
||||
"react-resizable-panels": "^1.0.7",
|
||||
@@ -84,19 +84,19 @@
|
||||
"devDependencies": {
|
||||
"@types/leaflet": "^1.9.8",
|
||||
"@next/eslint-plugin-next": "^14.0.4",
|
||||
"@types/eslint": "^8.56.0",
|
||||
"@types/node": "^20.10.6",
|
||||
"@types/react": "^18.2.46",
|
||||
"@types/eslint": "^8.56.1",
|
||||
"@types/node": "^20.10.7",
|
||||
"@types/react": "^18.2.47",
|
||||
"@types/react-dom": "^18.2.18",
|
||||
"@typescript-eslint/eslint-plugin": "^6.16.0",
|
||||
"@typescript-eslint/parser": "^6.16.0",
|
||||
"@typescript-eslint/eslint-plugin": "^6.18.0",
|
||||
"@typescript-eslint/parser": "^6.18.0",
|
||||
"autoprefixer": "^10.4.16",
|
||||
"dotenv-cli": "^7.3.0",
|
||||
"drizzle-kit": "^0.20.10",
|
||||
"eslint": "^8.56.0",
|
||||
"postcss": "^8.4.33",
|
||||
"prettier": "^3.1.1",
|
||||
"prettier-plugin-tailwindcss": "^0.5.10",
|
||||
"prettier-plugin-tailwindcss": "^0.5.11",
|
||||
"tailwindcss": "^3.4.1",
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Parent Grin",
|
||||
"short_name": "parentgrine",
|
||||
"name": "Kidarr - radar for your kids",
|
||||
"short_name": "kidarr",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/android-chrome-192x192.png",
|
||||
|
||||
@@ -7,9 +7,9 @@ echo Removing migrations
|
||||
rm -rf drizzle
|
||||
echo "Dropping db"
|
||||
|
||||
dropdb -f --if-exists parentgrine
|
||||
dropdb -f --if-exists kidarr
|
||||
echo "Creating db"
|
||||
createdb parentgrine
|
||||
createdb kidarr
|
||||
|
||||
bunx drizzle-kit generate:pg --config=./drizzle.config.ts
|
||||
bunx drizzle-kit push:pg --config=./drizzle.config.ts
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
import '@/styles/globals.css';
|
||||
import "@/styles/globals.css";
|
||||
|
||||
import { ABeeZee as TheFont } from 'next/font/google';
|
||||
import { cookies } from 'next/headers';
|
||||
import { ABeeZee as TheFont } from "next/font/google";
|
||||
import { cookies } from "next/headers";
|
||||
|
||||
import { TRPCReactProvider } from '@/trpc/react';
|
||||
import { ThemeProvider } from '@/components/providers/theme-provider';
|
||||
import { type Metadata } from 'next';
|
||||
import NextAuthProvider from '@/lib/services/auth/provider';
|
||||
import { TRPCReactProvider } from "@/trpc/react";
|
||||
import { ThemeProvider } from "@/components/providers/theme-provider";
|
||||
import { type Metadata } from "next";
|
||||
import NextAuthProvider from "@/lib/services/auth/provider";
|
||||
|
||||
const inter = TheFont({
|
||||
weight: '400',
|
||||
subsets: ['latin'],
|
||||
variable: '--font-sans',
|
||||
weight: "400",
|
||||
subsets: ["latin"],
|
||||
variable: "--font-sans",
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'ParentGrine Falcon',
|
||||
description: 'Laser focused on your kids',
|
||||
manifest: '/site.webmanifest',
|
||||
title: "Kidarr",
|
||||
description: "Radar for your kids",
|
||||
manifest: "/site.webmanifest",
|
||||
icons: {
|
||||
icon: '/favicon.ico',
|
||||
icon: "/favicon.ico",
|
||||
},
|
||||
};
|
||||
|
||||
@@ -30,15 +30,15 @@ export default function RootLayout({
|
||||
}) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning={true}>
|
||||
<body className={`font-sans ${inter.variable}`}>
|
||||
<NextAuthProvider>
|
||||
<TRPCReactProvider cookies={cookies().toString()}>
|
||||
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
|
||||
{children}
|
||||
</ThemeProvider>
|
||||
</TRPCReactProvider>
|
||||
</NextAuthProvider>
|
||||
</body>
|
||||
<body className={`font-sans ${inter.variable}`}>
|
||||
<NextAuthProvider>
|
||||
<TRPCReactProvider cookies={cookies().toString()}>
|
||||
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
|
||||
{children}
|
||||
</ThemeProvider>
|
||||
</TRPCReactProvider>
|
||||
</NextAuthProvider>
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ function HomePage() {
|
||||
<div className="container mx-auto text-center">
|
||||
<h2 className="text-4xl font-bold">Track Your Children with Ease</h2>
|
||||
<p className="mt-4 text-lg text-muted-foreground">
|
||||
Parentgrine Falcon helps you keep an eye on your loved ones and
|
||||
ensure their safety.
|
||||
Kidarr helps you keep an eye on your loved ones and ensure their
|
||||
safety.
|
||||
</p>
|
||||
<Link
|
||||
className={cn(
|
||||
@@ -22,13 +22,13 @@ function HomePage() {
|
||||
)}
|
||||
href="/signin"
|
||||
>
|
||||
<Icons.rocket className="w-4 h-4 mr-2" /> Let's go
|
||||
<Icons.rocket className="mr-2 h-4 w-4" /> Let's go
|
||||
</Link>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="py-16">
|
||||
<div className="container grid grid-cols-1 gap-8 mx-auto md:grid-cols-3">
|
||||
<div className="container mx-auto grid grid-cols-1 gap-8 md:grid-cols-3">
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Real-Time Location Tracking</CardTitle>
|
||||
@@ -65,14 +65,13 @@ function HomePage() {
|
||||
</Card>
|
||||
</div>
|
||||
</section>
|
||||
<section className="py-16 bg-background">
|
||||
<section className="bg-background py-16">
|
||||
<div className="container mx-auto text-center">
|
||||
<h3 className="text-3xl font-semibold">
|
||||
Keep Your Children Safe Today!
|
||||
</h3>
|
||||
<p className="mt-4 text-lg text-muted-foreground">
|
||||
Download Parentgrine Falcon now and stay connected with your loved
|
||||
ones.
|
||||
Download Kidarr now and stay connected with your loved ones.
|
||||
</p>
|
||||
|
||||
<Link
|
||||
@@ -82,14 +81,14 @@ function HomePage() {
|
||||
)}
|
||||
href="/download"
|
||||
>
|
||||
<Icons.mobile className="w-4 h-4 mr-2" /> Download Now
|
||||
<Icons.mobile className="mr-2 h-4 w-4" /> Download Now
|
||||
</Link>
|
||||
</div>
|
||||
</section>
|
||||
<footer className="py-8 text-center bg-secondary-foreground text-secondary">
|
||||
<footer className="bg-secondary-foreground py-8 text-center text-secondary">
|
||||
<p>
|
||||
An open source experiment from PodNoms - source code available{" "}
|
||||
<Link target="_blank" href="https://github.com/parentgrine">
|
||||
<Link target="_blank" href="https://github.com/kid-arr">
|
||||
here
|
||||
</Link>
|
||||
</p>
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
export type SiteConfig = typeof siteConfig;
|
||||
|
||||
export const siteConfig = {
|
||||
name: 'Parentgrine Falcon',
|
||||
description: 'Free & open source children tracking',
|
||||
name: "Kidarr",
|
||||
description: "Radar for your kids",
|
||||
mainNav: [
|
||||
{
|
||||
title: 'Home',
|
||||
href: '/dashboard',
|
||||
title: "Home",
|
||||
href: "/dashboard",
|
||||
},
|
||||
{
|
||||
title: 'Children',
|
||||
href: '/children',
|
||||
title: "Children",
|
||||
href: "/children",
|
||||
},
|
||||
],
|
||||
links: {
|
||||
twitter: 'https://twitter.com/podnoms',
|
||||
github: 'https://github.com/parentgrine',
|
||||
twitter: "https://twitter.com/podnoms",
|
||||
github: "https://github.com/kid-arr",
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
|
||||
import { db } from '..';
|
||||
import * as schema from '../schema';
|
||||
import { faker } from '@faker-js/faker';
|
||||
import { db } from "..";
|
||||
import * as schema from "../schema";
|
||||
import { faker } from "@faker-js/faker";
|
||||
|
||||
const main = async () => {
|
||||
const seedUsers = [
|
||||
{
|
||||
id: '2250f34e-997a-44de-ab8d-beddeda13525',
|
||||
name: 'Fergal Moran',
|
||||
email: 'fergal.moran@gmail.com',
|
||||
id: "2250f34e-997a-44de-ab8d-beddeda13525",
|
||||
name: "Fergal Moran",
|
||||
email: "fergal.moran@gmail.com",
|
||||
emailVerified: new Date(),
|
||||
},
|
||||
];
|
||||
@@ -16,10 +16,10 @@ const main = async () => {
|
||||
|
||||
const seedChildren = [
|
||||
{
|
||||
id: '2250f34e-997a-44de-ab8d-beddeda13525',
|
||||
name: 'Lil Debuggles',
|
||||
phone: '123 456 789',
|
||||
email: 'lildebuggles@parentgrine.com',
|
||||
id: "2250f34e-997a-44de-ab8d-beddeda13525",
|
||||
name: "Lil Debuggles",
|
||||
phone: "123 456 789",
|
||||
email: "lildebuggles@kidarr.com",
|
||||
avatar: faker.image.avatar(),
|
||||
parentId: seedUsers[0]?.id!,
|
||||
},
|
||||
@@ -28,11 +28,11 @@ const main = async () => {
|
||||
|
||||
const seedDevices = [
|
||||
{
|
||||
id: '5af79a30-df27-4646-9d9f-77e19b4191c1',
|
||||
deviceId: '373791e3-afe3-49de-b0a2-842a44071585',
|
||||
id: "5af79a30-df27-4646-9d9f-77e19b4191c1",
|
||||
deviceId: "373791e3-afe3-49de-b0a2-842a44071585",
|
||||
childId: seedChildren[0]?.id!,
|
||||
deviceName: 'Not an iPhone',
|
||||
apiKey: 'nQhXtqemsWjzBpbDxlIV2qtDx9xxO4oZVBJADdhJLfA=',
|
||||
deviceName: "Not an iPhone",
|
||||
apiKey: "nQhXtqemsWjzBpbDxlIV2qtDx9xxO4oZVBJADdhJLfA=",
|
||||
pin: 1234,
|
||||
expires: new Date(2065),
|
||||
},
|
||||
@@ -63,12 +63,12 @@ const main = async () => {
|
||||
return;
|
||||
};
|
||||
|
||||
console.log('seed', 'Seeding');
|
||||
console.log("seed", "Seeding");
|
||||
main().then(
|
||||
() => {
|
||||
console.log('seed', 'Seeded');
|
||||
console.log("seed", "Seeded");
|
||||
},
|
||||
(err) => {
|
||||
console.log('seed', 'Error', err);
|
||||
console.log("seed", "Error", err);
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user