https://github.com/karan-develops/local-link
A hyper-local digital noticeboard for Indian neighborhoods. Post and view public events & notices relevant to your nearby area.
https://github.com/karan-develops/local-link
full-stack nextjs
Last synced: 10 months ago
JSON representation
A hyper-local digital noticeboard for Indian neighborhoods. Post and view public events & notices relevant to your nearby area.
- Host: GitHub
- URL: https://github.com/karan-develops/local-link
- Owner: Karan-develops
- License: mit
- Created: 2025-07-24T12:00:07.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-22T08:33:38.000Z (10 months ago)
- Last Synced: 2025-08-22T10:31:57.853Z (10 months ago)
- Topics: full-stack, nextjs
- Language: TypeScript
- Homepage: https://local-link-karan.vercel.app
- Size: 704 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Local Link - A hyper-local digital noticeboard
## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Technologies Used](#πTech-Stack)
- [Installation](#π»Installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
## Introduction
A hyper-local digital noticeboard for Indian neighborhoods. Post and view public events & notices relevant to your nearby area.

## πTech-Stack
- **(Next Full Stack):**
- React.js
- Next.js
- Shadcn-ui
- TailwindCSS
- TypeScript
- Zod - Form Validation
- Framer-motion
- Firebase
- **Database:**
- Neon
- PostgreSQL
- Firebase
- Cloudinary
- **Version Control:**
- Git
```
## π File Structure :
Directory structure:
βββ next/
βββ README.md
βββ components.json
βββ eslint.config.mjs
βββ next.config.ts
βββ package.json
βββ postcss.config.mjs
βββ tsconfig.json
βββ actions/
β βββ comments.actions.ts
β βββ dashboard.actions.ts
β βββ helper.actions.ts
β βββ notices.actions.ts
β βββ notifications.actions.ts
β βββ user.actions.ts
βββ app/
β βββ globals.css
β βββ layout.tsx
β βββ page.tsx
β βββ api/
β β βββ comments/
β β β βββ route.ts
β β βββ create-user/
β β β βββ route.ts
β β βββ dashboard/
β β β βββ route.ts
β β βββ notices/
β β β βββ route.ts
β β β βββ [id]/
β β β βββ route.ts
β β β βββ upvote/
β β β βββ route.ts
β β βββ notifications/
β β β βββ route.ts
β β βββ post-notices/
β β β βββ route.ts
β β βββ set-session/
β β β βββ route.ts
β β βββ upload-on-cloudinary/
β β βββ route.ts
β βββ auth/
β β βββ page.tsx
β βββ dashboard/
β β βββ page.tsx
β βββ map/
β β βββ page.tsx
β βββ notices/
β β βββ page.tsx
β β βββ [id]/
β β βββ page.tsx
β βββ post/
β β βββ page.tsx
β βββ user/
β βββ [id]/
β βββ page.tsx
βββ components/
β βββ AuthForm.tsx
β βββ AuthProvider.tsx
β βββ CardSkeleton.tsx
β βββ CategoryFilterSection.tsx
β βββ DashboardView.tsx
β βββ Footer.tsx
β βββ Hero.tsx
β βββ LocationProvider.tsx
β βββ MapView.tsx
β βββ Navbar.tsx
β βββ NoticeDetails.tsx
β βββ NoticesView.tsx
β βββ PostNoticeForm.tsx
β βββ SessionWatcher.tsx
β βββ ToggleTheme.tsx
β βββ UserProfile.tsx
β βββ ui/
β βββ avatar.tsx
β βββ badge.tsx
β βββ button.tsx
β βββ card.tsx
β βββ dropdown-menu.tsx
β βββ input.tsx
β βββ label.tsx
β βββ popover.tsx
β βββ scroll-area.tsx
β βββ select.tsx
β βββ separator.tsx
β βββ sheet.tsx
β βββ skeleton.tsx
β βββ sonner.tsx
β βββ switch.tsx
β βββ tabs.tsx
β βββ textarea.tsx
βββ hooks/
β βββ use-auth.ts
βββ lib/
β βββ cloudinary.ts
β βββ prisma.ts
β βββ utils.ts
β βββ validations.ts
β βββ firebase/
β βββ firebase-admin.ts
β βββ firebase-auth.ts
β βββ firebase.ts
β βββ upload-image.ts
βββ prisma/
β βββ schema.prisma
β βββ migrations/
β βββ migration_lock.toml
β βββ 20250726095710_init/
β β βββ migration.sql
β βββ 20250729115813_notices/
β β βββ migration.sql
β βββ 20250812095037_user_profile/
β β βββ migration.sql
β βββ 20250812101829_user_profile/
β βββ migration.sql
βββ types/
β βββ types.ts
βββ utils/
βββ distance.ts
βββ refreshSessionCookie.ts
βββ setSessionCookie.ts
```
### Environment Variables
| Variable | Description |
| :-------------------------------------------- | :------------------------------------------------------ |
| ----------------`DATABASE`------------------- | ------------------`DATABASE`-------------------------- |
| DATABASE_URL | Database URL from neon again make a free account |
| ----------------`FIREBASE`------------------- | ------------------`FIREBASE`-------------------------- |
| NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN | Create Firebase Project To Get this key |
| NEXT_PUBLIC_FIREBASE_PROJECT_ID | Create Firebase Project To Get this key |
| NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET | Create Firebase Project To Get this key |
| NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID | Create Firebase Project To Get this key |
| NEXT_PUBLIC_FIREBASE_APP_ID | Create Firebase Project To Get this key |
| NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID | Create Firebase Project To Get this key |
| ----------------`LOCATION`------------------- | ------------------`LOCATION`--------------------------- |
| NEXT_PUBLIC_NOMINATIM_URL | Contact me to get this URL |
| -------------`FIREBASE-ADMIN`---------------- | ------------------`FIREBASE-ADMIN`--------------------- |
| FIREBASE_PROJECT_ID | Download Create Admin Private Keys json file |
| FIREBASE_CLIENT_EMAIL | Download Create Admin Private Keys json file |
| FIREBASE_PRIVATE_KEY | Download Create Admin Private Keys json file |
# π»Installation
## π₯ Next-JS
To run this project locally, follow these steps:
1. Clone the repository:
`git clone https://github.com/Karan-develops/Local-Link`
2. Navigate to the project directory:
`cd next`
3. Install the dependencies:
`npm install`
4. Set up environment variables: - Create a `.env` file in the `next` directory, - Add the Variables given in above `next` Table.
5. Start the development server:
`npm run dev`
## Usage
- Open your browser and navigate to `http://localhost:3000` for next.
- Register a new account or log in with existing credentials.
- Explore the features and functionalities of the Local Link Project.
## Contributing
Contributions are welcome! Please follow these steps to contribute:
- Clone or fork this repo
> `Run` [ git clone ` https://github.com/Karan-develops/Local-Link `]
1. Fork the repository.
2. Create a new branch:
`git checkout -b feature/your-feature-name`
3. Make your changes and commit them:
`git commit -m "Add your message"`
4. Push to the branch:
`git push origin feature/your-feature-name`
5. Open a pull request.
## π License
This repository is open source and under [MIT](https://choosealicense.com/licenses/mit/) License.
--- **_Lets Build & Grow, Have a Good Day_** **π** ---