UniQ is a centralised marketplace for University of Auckland students, designed to fill the gap left behind by the liquidation of UBIQ. It provides a simple and accessible platform for students to buy and sell course-related books and resources.
UniQ makes it easy for UoA students to:
- Browse course-specific textbooks and materials
- Search for books by keyword or course code
- View detailed book information (including pricing)
- Helps students save money by finding affordable textbooks
- Provides a centralised place for student-to-student sales
- Encourages sustainability by re-using and reselling study materials
- Fills the gap left by UBIQ’s closure, which previously provided a similar service
Frontend:
- React
- Next.js 14
- TypeScript
- Tailwind CSS
Backend:
- MongoDB (native driver)
- Mongoose
- Next.js API routes
Prerequisites
- Node.js
- npm (comes with Node)
- MongoDB connection string (Atlas or local instance)
Installation
-
Fork the repository
Click the "Fork" button at the top right of the repository page to create your own copy. -
Clone your fork
Replace<your-username>with your GitHub username:git clone https://github.com/<your-username>/UniQ.git cd UniQ
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env
Edit
.envwith your MongoDB connection string. -
Run the development server:
npm run dev
-
Open your browser: Navigate to http://localhost:3000
├── app/ # Next.js App Router
│ ├── about/ # About page
│ ├── api/ # API routes
│ ├── book/ # Book details pages
│ ├── course-books/ # Course books listing
│ ├── legal/ # Legal / policy pages
│ ├── not-implemented/ # Placeholder page for unfinished features
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ ├── not-found.tsx # Custom 404 page
│ └── page.tsx # Home page
│
├── components/ # Reusable React components
├── hooks/ # Custom React hooks
├── lib/ # Utility libraries (DB + helpers)
├── models/ # Database models
├── public/ # Static assets
- Browse books by course
- Search for specific textbooks
- Detailed book information
- "Not Implemented" placeholder pages
- Planned: user accounts and order history
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
This project is licensed under the MIT License; a permissive open-source license. You are free to use, modify, and distribute this software as long as the original license is included.
This project is licensed under the MIT License. MIT License