Skip to content

JohnMwendwa/vet-management-system

Repository files navigation

Project Screenshot

vet-management-system vercel app_dashboard (1)

Technologies Used Hammer and Wrench

  • Material-tailwind/react (UI)
  • Next.js (Full stack app)
  • Next-auth (Authorization & Authentication)
  • MongoDB (Storage of app data)
  • Faker-js (Dummy data)
  • Nodemailer (Sending emails)
  • Mongoose (Database schema)
  • Bcrypt (Hashing passwords before they're stored in the database)
  • Fullcalendar (Booking and keeping track of appointments)

This is a Next.js project bootstrapped with create-next-app.

Getting Started Parachute

First, install the dependencies

npm install

Then create a .env.local file with the following environment variables

LOCAL_URL=Your Local mongoDB URL
MONGO_URL=Production mongoDB URL
NEXTAUTH_URL=http://localhost:3000/ | YOUR APP STARTING POINT URL
NEXTAUTH_SECRET=Secret to hash your tokens

Before running the app, ensure your local mongodb server is running or skip this part if you're using an online database

# In your command-line, go to where your mongodb bin is installed by running the following command (Tweak in accordance with your mongodb installation folder)

cd ../../mongodb/bin

# Then start the mongodb server by running the following command

net start mongodb

Then, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

User Roles and permissions

The app has 3 types of users, namely :

  1. Doctors
  2. Nurses
  3. Clients

Upon creating an account (by signing up), the default role assigned to the newly created account is that of a client.

The 3 users have the following permissions:

I. Doctor

  • A doctor has full admin rights to CREATE, EDIT, DELETE a user account, and can assign any role to that account i.e, the doctor can assign that newly created account the role of a doctor, nurse or client.

  • A doctor also has full admin rights to ADD, EDIT and REMOVE employees

II. Nurses

  • Nurses still don't have any admin rights at the moment but that is bound to change in the future. They only have the permission to edit their details i.e they can EDIT and DELETE their user details but can't change their roles.

III. Client

  • Clients don't posses any admin rights but can only CREATE, EDIT and DELETE their accounts whenever they wish to.

How to assign yourself Full Admin Rights

Once you fork this repo, signup atleast one account and then go to your database and change the role of that account to "doctor" and that's it, you have full admin rights.

Learn More Open Book

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel Rocket

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

About

This is an admin dashboard built for managing hospital/vet services

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages