Published on

My new Project

Authors

Notice

If you just want to see my project and don't want to read this whole article about it, then here's the link:

https://dfire.zenithstech.com

Overview

So, recently I've built a project to help small manufacturerers, retailers, and wholesalers maintain their accounting records...

Is this for real?

Umm. No (😅), and here's why!

Management problems

See, I've build this project all on my own, and yes it WILL have some problems...

Will I solve those issues?

Probably not, and the main reason for this is because:

  1. I don't have any monetary benefit for making this project...

  2. It is solely meant to showcase my coding skills...

With that being said, it is hosted, all things has been integrated... and here's the link:

https://dfire.zenithstech.com.

Just one request, that I might ocassionally check my authentication dashboard and delete user data, so I don't get past my free tier threshold...

What skills does it showcases?

It showcases my ability to write complex code in nextjs, write good backend code, ability to perform CRUD operations, even at a multi level and create beautiful dashboards and web pages...

Will there be anytime that I make this a full fleged startup?

Maybe! If I'm able to finance it... but until then this project has been done from my side..

How many hours it took me to create it?

It took me 6-9 hours a day for the past 7 days, so somewhere around 50 hours (or maybe more) to complete this project!

What tech stacks did I used to build this?

See, I just wanted my project to be just working, so I used Next.js API routes instead of a full fleged backend...

Are Next.js API routes good enough?

Yes, if your fundamentals are clear and have enough patience to learn about it and in some small uses cases, it's even better than using a full fleged backend!

How?

Like:

  • you don't have to manage CORS problem when you're dealing with API routes, cause both the frontend and backend are of same origin..

  • All your code is in one single place..

  • You just want your app to be working...

  • You don't need to create super complex backend...

With that being said, these are reasons on why I chose Next.js API routes...

Now, back to the topic..

Along with Next.js API routes, I've used prisma and prisma/client to create models and make queries to the database, in the (so called) backend side of the code.

In the frontend, I've used axios to connect to the API routes, used tailwindcss for the styling, used Shadcn for creating the components, and kinde for authentication, cause it was very easy to set up...

How to use this software

First, you will need to login on the project website...

If you don't already have an account, create one, then login.

Then after login, you will redirected to the dashboard of the site.

Now, you will be seeing 6 links on the left hand side of the page, as dashboard, orders, stock, inventory, analytics, settings.

And By the way, the analytics page doesn't work, it's just there as a show piece, but all the other pages does work!

Now here comes the actual tutorial part!

  1. Go to the inventory page and click on Add Product. There you will be given a form to fill up where you will putting your item name, it's price, it's quantity, the date on which it was purchased, and it's payment status , whether it's paid of unpaid.

  2. The exact same process you have to follow in the stock page, but it's for the items, that you have created.

  3. Now comes the most complex page of the project, the orders page.

    Here, you will put the details of the order, that a person has given to you, like his name , email, the date on which he made the order, the payment status, AND the products that he has purchased from you, including it's quantity. And by the way, the products (by default) will show nothing, if you don't have anything on your stock page, so first add something there, and then come back to this page.

And by the way, whenever you add these details, it's will be shown on the same page, in a table format.

  1. On the dashboard page, you will see the total sales you've made, the total value of inventory you have, along with their total quantity, same goes for the stock, credt sales( those sales which are unpaid) and just blow it, you will see the cash sales(those sales, which are paid).

    Below these, will show your recent sales, whether it's on cash or on credit.

And by the way, all the data, that you've entered in the orders, inventory and the stock page, can be updated; it's mostly needed when you will need to make changes, change the payment status or accidentally made a wrong entry.

  1. And lastly, on the settings page, you will be able to edit your firname, lastname and your email

Some small features

If you click on the profile icon, a dropdown will appear, where you will find a button named support, and by clicking on it, will redirect you to your mailbox, where you can email me about anything this app...

With that being said, I hope you would like my software...

Anyways, I you just directly went to the bottom of the page without even reading it, then here's the link to my project:

https://dfire.zenithstech.com