Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/efefurkankarakaya/kanban-board
Kanban Board built on Next.js, Zustand & MongoDB
https://github.com/efefurkankarakaya/kanban-board
mongodb nextjs notion zustand
Last synced: about 1 month ago
JSON representation
Kanban Board built on Next.js, Zustand & MongoDB
- Host: GitHub
- URL: https://github.com/efefurkankarakaya/kanban-board
- Owner: efefurkankarakaya
- Created: 2024-06-12T18:09:02.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-06-23T15:03:56.000Z (6 months ago)
- Last Synced: 2024-10-13T12:02:23.918Z (3 months ago)
- Topics: mongodb, nextjs, notion, zustand
- Language: TypeScript
- Homepage:
- Size: 753 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Kanban Board
A Notion-like full-stack kanban board application built on Next.js, Zustand and MongoDB.
### Board
### Detail
### Sign In / Sign Up
Sign-in and Sign-up both functions are handled in the same screen, if a user does not exist, then the user will be created with their initial board data. And their board url will be publicly available over their user name.
### Installation
#### Initial Steps
- Create a environment file named `.env` in the root folder (`/`) of the project.
- Copy below data and paste inside of `.env` file:```
DATABASE_NAME="kanban-board"
DATABASE_URI="mongodb://root:toor@localhost:27017/"
DATABASE_USER="root"
DATABASE_PASSWORD="toor"
```#### Running the database (MongoDB instance)
- Clone the repository: `$ git clone https://github.com/efefurkankarakaya/kanban-board`
- Go inside the directory: `$ cd kanban-board/`
- Start the MongoDB instance in your local: `$ docker compose up`
- Then the local MongoDB instance will be available at `http://localhost:27017`.
- Also, MongoDB Express (admin panel) will be available at `http://localhost:8081`. But, I'd recommend you to use MongoDB Compass to access the MongoDB server.#### Running the app
- Install the packages: `$ pnpm i`
- Start the development server: `$ pnpm dev`### Build
- Build the app: `$ pnpm build`
- Start the build: `$ pnpm start`### Folder Structure
#### /app
The main app folder, contains `pages` and `endpoints`.
#### /calls
This folder contains the service files (aka: API calls) of front-end.
#### /common
Contains common files and types.
#### /components
Contains client-side components.
#### /data
Contains initial/mock data.
#### /hooks
Contains custom hooks.
#### /models
Contains data models and interfaces.
#### /persistence
Contains database-related objects.
#### /public
Contains public files.
#### /services
Contains the back-end service files for API.
#### /store
Contains store files which are built on Zustand.
#### .husky/
Contains pre-commit hook to lint before commit.