How to simulate user intercation in Django? - django

I have a Django project representing an abstract retail store. Let's say it's deployed on a server and is available in the local network. I want to write another program (or extend this one?) to generate a bunch of Users, automate the process of signing up and logging in and automate their interaction with the system: make them interact with the system to order goods. So it's not just unit testing of my system but rather demonstration of how it works in real life. And I want to spawn many users to see how my system can handle many requests at once.
Is there some kind of framework for that? How would you implement this? Thanks.

There are plenty of software available for this specific need.
https://jmeter.apache.org/
https://www.cypress.io/
https://www.browserstack.com/selenium#:~:text=Selenium%20is%20an%20open%2Dsource,%2C%20and%20C%23%2C%20among%20others.
Go through these, hope you will find your solution

Related

Holographic Remoting to multiple HoloLenses using Unity

I am looking for a way to build a Unity application that allows multiple users to see (and at least one of them interact with) the same hologram. I am using the MRTK for user interaction.
When using the UnityEngine.XR.WSA.HolographicRemoting class, it seems I can only establish a single connection to a HoloLens. (The class is used in Microsoft's tutorials, for example here)
I am now wondering if it is at all possible to connect multiple HoloLenses to a single Unity application. I tried looking into implementing a custom remoting app as described here, but my C++ knowledge is too limited to assess if it's even possible.
If it's not possible I would also welcome any suggestion on how to attempt this
otherwise.
Edit:
It also seems like the class mentioned above is not compatible with Unity's new XR Plug-In Management. It does not recognize Holographic Remoting being enabled in the Plug-In settings. I couldn't find another (new) implementation to use Remoting via script.
Edit 2:
I failed to mention, that I absolutely need to use Remoting, because the content I want to display is too detailed for the Hololens to handle itself. So basically I am looking for a way to combine Remoting and Sharing in a nice way.
It seems like you want to share experiences and each user has his/her own perspective on the holograms in the scene and can each interact with the holograms. If so, Holographic Remoting does not match your request, it isn't an aim at share experience.
To create shared experiences to let multiple users collectively view and interact with the same hologram, you need to leverage Azure Spatial Anchors for local users and Photon SDK for syncing the content/state in the scene. For documentation, have a look at Multi-user capabilities tutorials
If you just want to enable other devices to see what the HoloLens sees from a different perspective in the same location, and receive updates on interactions of the host HoloLens user interacting with the holograms, please see:Spectator View

does anyone perform "build" operation for website project

I have read about the difference between website project and web application project. I have never created any web application, and I just managed to create a basic web site project recently.
I would like to ask -- Does it make sense for me to do "build" on my web site project or it is totally stupid for me to do so? If it make sense then what does it really do to my web site project?
Thanks
Is this just a static web site? (No database, server side code, api's, file concatenation, preprocessors, data transactions, etc) If not (or none of those words sound familiar), then you shouldn't need a build process.
Its the web applications with user interactions that involve data manipulations and several different user states that need some some sort of testing that mocks up these user actions and test code validation through different scenarios. This is especially the case the more complex your application gets and/or the more developers that get involved.
You can check out a pretty in depth explanation from pluralsight, or a nice read from David Tucker that involves a static site use case.
This build process is basically going to run through all the tasks that you have defined in the 'build process'. These tasks can be practically anything but often include testing, performance tasks like file compression etc. Perhaps a good explanation of handling a smaller (static) sites is that you could just do any of theses steps in a manual process if need be.

What is the current state of the art method for a RESTful webservice?

After I written most of my websites in a way which you don't even want to see, I now came to a point where I mostly think about what I am doing instead of just typing it. Some friends of mine and me now have developed a game. It is quite a mixture of good and bad styles, but thats another story. Now I want to reimplement our webservices to make it possible to host all our stuff with a single RESTful API.
My most important goal is to keep everything very clear and understandable. So I'd like to have a main system which, for example manages all users so you can address all users at http://example.com/user/XXXX
The next point is that I want to be able to have some resources for special sub-services like stats for a game which then is accesible at http://example.com/user/XXXX/gamename/stats In this case the user management system should be able to authorize or reject the access and then redirect to the service which manages the game (e.g. another server).
Also the whole system should be able to make a difference between the game which calls the stats, or the user who wants to see his stats in the browser via our website)
Is there a state of the art way to implement a system like this?
Your description of the problem is too vague, but from what I can understand I would suggest having a look at Web Api. For real-time communication between clients and server, also have a look at SignalR.

Java web application for multiple users

I need to design and implement a Java web application that can be used by multiple users at the same time. The data that is handled by this application is going to be huge and may take about 5 minutes for a page to display the results(database records).
I had designed this application using HTML, Servlets and JSP. But when two users would try to get the records, only one user was able to view the results while the other faced an error.
I always thought a web application would take care of handling multiple users but this is not the case.
Any insights on this would be highly appreciated.
Thanks.
I always thought a web application would take care of handling multiple users but this is not the case.
They do if they're written correctly. Obviously yours is not. That's all we can tell you unless you give more information, most importantly details of the error shown to the second user.
One possibility is that everything is OK on the web layer but your DB access for the first user causes an exclusive lock so that the second user cannot access the data at the same time. This could be fixed by using non-exclusive read locks. How to do that depends mainly on what DB you're using.
Getting concurrency right requires you to choose the correct tools and use them correctly. It doesn't just happen magically because it's a web app.
What are are using to develop this web-application? If you are developing it in your own way from the start I must say you are trying to re-invent the same wheel which has been already created and enhanced by very solid frameworks.
I suggest you analyze your requirements thoroughly and study some available frameworks. Let them handle the things like multi threading and other aspects in the best possible manner.
Handling multiple request at a time is a container work and as an application developer we have to concentrate how we are handling and processing those requret being forwarded by the container.
I must suggest you to get some insight how web-application work and how request -response cycle happens

Use cases for web application API?

Nowadays a lot of web applications are providing API for other applications to use.
I am new to the usage of API so I want to understand the use cases for it.
Lets take Basecamp as an example.
What are the use cases for using their API in my web application?
For inserting current data in my web application into a newly created Basecamp account instead of inserting everything manually which could take days or weeks if the data is huge?
For updating my application data when the user changes something in Basecamp. If so, how do I know for example when a user add/edit/remove a contact in Basecamp. Do I make a request and check every minute from the backend?
For making backup of the Basecamp data so I can move it to other applications if necessary?
Are all the above examples good use cases for the usage of API?
Are there more use cases?
I want to have a clear picture of why it's good to use another web service API and how I can leverage that on my application.
Thanks.
I've found the biggest reason to use and provide web services is to be able to programmatically drive the application with another process. This allows the coupling of different actions in different applications driven by one event/process/trigger.
For example I could create a use a webservice provided by Basecamp, my bug tracking database and the continuous integration server. I could tie all those things together and kick them off from a commit hook script.
I can have a monitor in production automatically open a ticket in our ticket tracker. This could trigger an autoremediation process from the ticket tracker which logs into the box remotely and restarts the service.
The other major reason I've seen to use and provide web service is to reduce double entry. If you do change management in your production environment that usually means you create Change tickets. The changes that occur may also need to be reflected in the Change Management Database which is usually a model of how production is suppose to look. Most of these systems don't automatically drive the update of your configuration item with the data from the change. Using web services you can stitch them together to eliminate the double (manual) entry that would normally occur.
APIs are used any time you want to get data to/from an application without using the default interface.
*I'd bet there's a mobile app would use the basecamp api.
*You could use the api to pull information from basecamp into another application (like project manager software or an individual's todo webpage)
*the geekiest of us may prefer to update basecamp from a script/command line rather than interrupting our work flow to open a web page and click around.