This is a full-stack Inventory Management App Project, that is built using Next.js and MongoDB (Mongoose).
Deployment : https://inventory-management-app-ruby.vercel.app/
- User Authentication: Secure login and registration.
- User Authorization: Role-based Authorization. There are mainly two roles,
user
andadmin
. - Product Management: Add, edit, and delete products.
- Category Management : Manage product categories.
- User Management : Admin are able to manage othe users.
- Search and Filter : Easily find products with advanced search, filter, sort options.
-
Clone the repository:
git clone https://github.com/zenithexe/inventory-management-app.git
-
Navigate to the project directory:
cd inventory-management-app
-
Install dependencies:
npm install
-
Set up the environment variables. Create a
.env
file in the root directory and add the necessary variables:MONGODB_URI="your_database_url" NEXTAUTH_SECRET="Generate_your_own_secret_key" NEXTAUTH_URL="http://localhost:3000/"
-
Integrate your MongoDB Database with the project.
just google it man :)
-
Start the development server :
npm run dev
Once the server is running, you can access the application at http://localhost:3000
.
These are the different routes :
- / : Basic Home-page. Content about the project.
- /profile : Manage your account.
- /inventory : Advance view of your inventory.
- /category : Advance view to manage the
item-category
. - /users : Advance view to manage
users
. Admins are only able to manage other users. - /login : User Login Page
- /register : User Registration Page
User Role
:
- Add/Edit inventory items.
- View Categories
- View other users. Edit their own profile.
Admin Role
:
- Add/Edit/Delete inventory items.
- Add/Edit/Delete Category
- Edit/Delete/Promote/Demote other users.
These are the library used in the project.
shadcnn
: UI LibraryTanstack React Tables
: Headless React UI library to create complete Table UI.NextAuth (Auth.js)
: User Authentication and Session Control