https://github.com/andrianllmm/iskommerce
UPV C2C Ecommerce Marketplace
https://github.com/andrianllmm/iskommerce
ecommerce nestjs nextjs prisma website
Last synced: 22 days ago
JSON representation
UPV C2C Ecommerce Marketplace
- Host: GitHub
- URL: https://github.com/andrianllmm/iskommerce
- Owner: andrianllmm
- License: apache-2.0
- Created: 2026-02-01T17:06:34.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-06-05T08:07:09.000Z (about 1 month ago)
- Last Synced: 2026-06-05T08:11:05.772Z (about 1 month ago)
- Topics: ecommerce, nestjs, nextjs, prisma, website
- Language: TypeScript
- Homepage: https://iskommerce-upv.vercel.app
- Size: 1.72 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Stargazers][stars-shield]][stars-url]
[![License][license-shield]][license-url]
# Iskommerce
UP Visayas C2C Marketplace
---
## About The Project
Iskommerce is a closed-campus student-to-student e-commerce marketplace for UP Visayas that enables buying and selling of items within a verified university community.
It replaces fragmented Facebook-based buy-and-sell workflows with a structured platform featuring listings, search, messaging, transactions, and reputation tracking.
### Key Features
- UPV email-verified authentication
- Product listings (create, update, delete)
- Search and discovery with filtering and ranking
- In-app messaging per listing
- Transaction workflow (request, accept, reject)
- Ratings and reviews system
- Notifications for messages and transaction updates
---
## Built With
- Next.js (Frontend)
- NestJS (Backend)
- PostgreSQL + Prisma (Database)
- Better Auth (Auth)
- Tailwind CSS + shadcn/ui (UI)
- TypeScript
- Turborepo (Monorepo)
---
## Getting Started
### Prerequisites
- Node.js
- pnpm
### Installation
```sh
git clone https://github.com/github_username/iskommerce.git
cd iskommerce
pnpm install
```
### Environment Setup
Create `.env` files for frontend and backend using provided templates.
```sh
cp .env.example .env
```
### Database Setup
This project requires a local PostgreSQL database.
#### Install PostgreSQL
**Linux / WSL**:
```sh
sudo apt install postgresql postgresql-contrib
sudo service postgresql start
```
Create database:
```sh
sudo -u postgres createdb iskommerce
```
**Windows**:
- Install PostgreSQL from [https://www.postgresql.org/download/windows/](https://www.postgresql.org/download/windows/)
- During setup, ensure `psql` and tools are added to PATH
Create database:
```sh
createdb -U postgres iskommerce
```
#### Run migrations
```sh
pnpm db:migrate
```
### Run Development Server
```sh
pnpm dev
```
---
## Project Structure
```
apps/
├── web/ # Next.js frontend
│ ├── src/
│ │ ├── app/
│ │ │ ├── (app)/ # authenticated routes
│ │ │ ├── (public)/ # public pages
│ │ │ ├── (auth)/ # auth flows (login/register)
│ │ │ └── layout.tsx # root layout
│ │ │
│ │ ├── features/ # domain-based frontend modules
│ │ │ ├── auth/
│ │ │ ├── users/
│ │ │ ├── listings/
│ │ │ │ ├── components/ # feature UI components
│ │ │ │ ├── hooks/ # feature state/data hooks
│ │ │ │ ├── api/ # feature API calls
│ │ │ │ ├── types/ # feature types
│ │ │ │ ├── utils/ # feature utilities
│ │ │ │ └── validations/ # form schemas
│ │ │ ├── search/
│ │ │ ├── messaging/
│ │ │ ├── transactions/
│ │ │ ├── reviews/
│ │ │ └── notifications/
│ │ │
│ │ └── shared/ # reusable frontend layer
│ │ ├── components/ # shared UI components
│ │ ├── hooks/ # shared hooks
│ │ ├── lib/ # utils and clients
│ │ ├── types/ # shared types
│ │ └── constants/ # global constants
│
└── api/ # NestJS backend
├── src/
│ ├── modules/ # feature modules
│ │ ├── auth/
│ │ ├── users/
│ │ ├── listings/
│ │ │ ├── repository/ # data access layer
│ │ │ ├── service/ # business logic
│ │ │ └── controller/ # HTTP layer
│ │ ├── search/
│ │ ├── messaging/
│ │ ├── transactions/
│ │ ├── reviews/
│ │ └── notifications/
│ │
│ ├── common/ # shared backend utilities
│ │ ├── utils/ # pure helper functions
│ │ ├── types/ # shared types
│ │ └── constants/ # global constants
│ │
│ ├── database/ # database access layer
│ │
│ └── config/ # environment & app config
│
└── main.ts
packages/
└── api # shared API contracts
└── contracts/ # FE/BE shared request/response types
```
---
## Contributing
Contributions are welcome!
See [CONTRIBUTING.md](CONTRIBUTING.md) for more information.
---
[contributors-shield]: https://img.shields.io/github/contributors/andrianllmm/126-final-project.svg?style=flat-square&color=f43f5e
[contributors-url]: https://github.com/andrianllmm/126-final-project/graphs/contributors
[stars-shield]: https://img.shields.io/github/stars/andrianllmm/126-final-project.svg?style=flat-square&color=f43f5e
[stars-url]: https://github.com/andrianllmm/126-final-project/stargazers
[license-shield]: https://img.shields.io/github/license/andrianllmm/126-final-project.svg?style=flat-square&color=f43f5e
[license-url]: https://github.com/andrianllmm/126-final-project/blob/master/LICENSE.txt