After few posts on functionalities that Y-A-T-S-Y will support and following on the 'release early, release often', philosophy, here comes a first working model of the tool.
What works? Well, not a lot; but one can create a ticket, admin can assign, and the agents can view those assigned tickets; users can view their open tickets.
(Django rocks; I started working from Friday and by noon Sunday I've a working version! Most of the time spent was for understanding the new-forms admin. All others were relatively easy. And there is a whole lot of plug-ins available for the features that I'm looking into.)
I've borrowed the layout and css from Django Admin.
Once logged in, add form is shown by default.
Once a case is added, it will take to the case list. If the logged in user is also an agent, then the assigned tickets are displayed.
There is a little bit of navigation links on the top-right.
All the models from admin screen:
Not a lot; but I'm proud of what I've done in the relatively short time. I am going to keep working on it until all the features are done.
Unfortunately I'm not able to create a windows executable(I was able to build the windows executable. Read at the end) So in case you want to try it out, follow these steps:
- If you don't have Django then download it and install. If you are on Windows, you can also use Instant Django.
- Checkout Y-A-T-S-Y source code.
- By default it uses sqlite db. For testing purposes this is sufficient enough. Otherwise you need to connect to whatever db that you want to connect.
- Syncdb to create the database.
- Login as admin (ex: http://localhost/admin)
- Create a user and an agent
- Create master data values
- Logoff as admin and login as a user (ex: http://localhost/)
- Create a case
- Logoff as user
- Login as an admin and assign to the agent
- Logoff as admin
- Login as an agent
- You should see the cases assigned to the agent
If you're wondering about 'RFH' on the title it stands for Request For Help :-) . If you are generous, you can help in so many ways (I promise to acknowledge your contribution):
- I'm relatively new to Python/Django. So I would be grateful if you can review the code and suggest 'better' ways - 'Better' in terms of performance and elegance.
- Design a good layout scheme. I'm currently using the default Django admin layout and css. While it is great, it is not fair.
- Translate into different languages (while it is too early to translate, you can read about Django i18n and plan about it).
- Design a good favicon.
- Test, test, test. Though I'll do my round of testing. Testing by others will help to improve the tool in many aspects. Of course before testing, you need to understand the helpdesk functionality.
- Spread the word in whatever way possible.
Note: I was able to build windows executables. You can download from the repo. Unzip the file into a folder. Once unziped, double click on demo.exe. It will open the browser with /login. Provide agent/agent (username = password = agent). You should be able to create a case and see the list of cases too. For admin login, go to /admin. Provide admin/admin. Play around.
An overview of Helpdesk functionality
Y-A-T-S-Y 0.1 - DB and Reports