MTSA Marketplace [Live Website]
This is a Next.js, Tailwind CSS website aimed at enhancing the user experience for MTSA's second-hand marketplace on Facebook. Since every seller have to post a PowerPoint for selling the items. Here are some of the issues I focused on improving:
- The need to open a PowerPoint presentation to view items.
- Lack of categorization for items.
- Items that have been sold but are still listed due to outdated information.
MTSA Marketplace is a platform for buying and selling items within the MTSA (Michigan Taiwanese Student Association) community. This project aims to simplify the process of trading second-hand goods by providing a user-friendly interface equipped with search and reserve functionalities.
- 🛏️ Item Listing, add items, edit, and delete items
- 🔍 Dynamic Search and filter items by category
⚠️ Real-time Notifications- 🔖 Saved Page for favorite items
- 📦 Order Page for monitoring reservations
- 🧑🏼 Update personal info and manage item listings and reservations
- Nextjs with TypeScript for server-rendered React applications
- Prisma for database access, migrations, and ORM
- Axios for making HTTP requests
- MongoDB to store user, item, and reservation data
- Cloudinary CDN to store images
- NextAuth.js for client-side social login (Google and Github)
- bcrypt for hashing passowrd before storing
- next/font for font optimization
- next/navigation for in-memory client-side cache and patrial rendering
- next/image for automatic image optimization
- zustand for login/logout state management
- mui UI for date-time components
- React Hot Toast for toasts and notifications
- vercel/analytics for application analytics
- Clone the repository
git clone https://github.com/yi-cheng-liu/mtsa-marketplace.git
- Navigate to the project directory
cd mtsa-marketplace
- Install dependencies
npm install
- Setup .env
DATABASE_URL= NEXTAUTH_SECRET="NEXTAUTH_SECRET" GITHUB_ID= GITHUB_SECRET= GOOGLE_ID= GOOGLE_SECRET= NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=
- Setup Prisma
npx prisma db push
- Run the development server
Open http://localhost:3000 with your browser to see the webstite.
npm run dev
Select Category | Enter Details | Upload picture |
---|---|---|
Item Page | Confirm reservation |
---|---|
Order Page | Saved Page |
---|---|
Profile Page | Reserved Items |
---|---|
MIT © Yi-Cheng Liu
For more information or contributions, you can reach us at: Yi-Cheng Liu, Email: [email protected] or [email protected]
This project has been an incredible learning journey in React and great code organization. Huge thanks to Antonio who is the creator of the Airbnb clone on Youtube. The insights and skills I gained from his course served as the foundation for this project. Also, thanks to the MTSA community for providing me the opportunity to build this project.