I am trying to create a project for event management website platform (ex: EventBrite, TicketMaster, etc) with laravel 5, where people can create event on my platform, and people also can sell and buy event tickets through my platform. And now i am confused about how to create the database design. Can someone help me to design the basic relational database design structure?
For now, i only thought of the user table, organizer table, event table, event category table. But i dont have any idea when it comes to the booking table, ticket table, and etc.
Thanks very much for the help. :)
You can have a look to this project. Attendize is a free, open-source & self-hosted ticket selling and event management platform built with Laravel
https://www.attendize.com
https://github.com/Attendize/Attendize
Related
I am working on a project with someone who has developed a desktop app for people who run charity voucher companies. They have customers who have accounts, who put money in their accounts, and who write charity vouchers (bit like cheques) to charities.
He wants me to write a web site where both charities and customers can log in and see details of their accounts, vouchers issued, etc.
As most of the data will be coming from his app to my web site, we agreed to use his primary key IDs in my database, so it will be easy to match up the data.
We're quite well into it, and it I've discovered that he is a staunch opponent of relational databases. His database doesn't have any foreign reference keys at all, just IDs in tables. He does individual queries on each table to see if the related data is there.
I want to use Entity Framework, but am not sure if I can, as I can't be sure that the data he sends me will be complete. For example, he might send me details of a voucher, which will have a customer ID and a charity ID, but the customer may not have been sent, so the customer ID on the voucher won't exist in the customers table.
Any ideas what I can do? I can't have foreign links between my tables, as this will throw errors whenever it comes across incomplete data, but if I don't have any links, then I've lost the whole benefit of using EF.
My only thought so far is to leave the tables unrelated, and then add partial classes for the entities, with properties that will look like navigation properties, but that will check to see if the "foreign" data is there, and if so, return it.
This might work, but seems like a lot of effort. Anyone any better suggestions as to how I handle this situation?
This is a very late answer, but since I stumbled across this question, it might be useful for others.
Microsoft recently announced that EF Core (within ASP.NET Core 2.1) will have a provider for Cosmos DB:
Cosmos DB provider preview: We have been developing an EF Core
provider for the DocumentDB API in Cosmos DB. This is the first
document database provider we have produced, and the learnings from
this exercise are going to inform improvements in the design of the
subsequent release after 2.1. The current plan is to publish an early
preview of the Cosmos DB provider in the 2.1 timeframe.
NOTE: A short video containing major features to be delivered with ASP.NET Core 2.1 can be seen here.
Are there any resources available that can guide someone on how to 'think' about the various components of a hosted / cloud solution before going ahead and starting to make a hosted application? If that made no sense, what I mean to ask is are there any guidance books/websites on what things need to be considered when making a cloud application?
I am attempting to make a hosted CRM-style software application that will serve many hundreds of customers. The application is powered by a SQL server database with many tables and a ColdFusion, HTML5, CSS, Javascript front-end. If I was installing this application and its components at each client site, then each installation is unique to that customer. But somehow I have to replicate this uniqueness in the cloud which is baffling me.
Only two things have come to mind so far:
The need for a unique database per customer in SQL server
The need to change DB connection strings per customer in the web application
My thought process has come to a block when I am trying to envisage how to design the application to serve so many different customers. Even though the application that all customers use will is the same (same DB tables, same front-end), the data that they store and retrieve will be specific to them. So I was thinking that surely each customer needs a separate database creating for them? Is it feasible to create a replica database for each customer? If I need to update some tables or add a new table, how would I do this for hundreds of different databases?
From the front-end I guess each unique customer log-in would change DB connection strings so that they can only access their database. Other than this I can't think of anything else that needs to change per customer basis.
When a new customer wants to sign up, it needs to be clear to me what I need to create for them to have access to the application. I guess this is ultimately what I need to think of but I'm stuck.
If anyone can suggest some things to think of or if there is a book or website on this kind of thing that someone could point me to I'd really be very thankful.
EDIT:
I was looking at an article about Salesforce.com and it says
"In order to ensure privacy of data for each user and give an effect of each having their own database, the data from different users are securely isolated from one another."
Anyone know how this is achieved or how it may be done?
Found some great information here. It is called multi-tenant database design and seems to be a common topic. Once I get the database designed then the application can sit nicely on top.
https://dba.stackexchange.com/questions/1043/what-problems-will-i-get-creating-a-database-per-customer
We have an issue with respect to adding tables to Magento Schema.
Problem: we have a 3rd party custom built ERP system, which we need to integrate with up coming Ecommerce soltuion.
We want to create few tabels, whose table structure is exactly the same as the ERP one. This is planned for our future sync process with the ERP related to the products, inventory ..etc
But we don't know
how to create these tables in Magento...? Or
whether Magento allows to create additional tables ?
If we can create, what changes does it causes that we need to be sure ?
Please if anyone in the community has answers to any of the questions that we have, please let us know.
Thanks in advance
Kiran
Too broad There is no such thing to create tables in Magento unless you mean creating them directly in the DB.
Maybe you should take a look to the import/export functions in magento to integrate to your ERP or even better the web services (SOAP, XML-RPC) api.
I am building car rental web-application software
I recently encountered a concern from a possible client; that they don't want the software company to see their data in the database. They load their rates contracts etc which are confidential and don't want anyone apart from them have access to this data, including our dba or some developer/tech person.
I normally do not sell the code of my application and only let clients run the software on their servers. I normally do maintenance and system updates to their servers on a bi monthly or so basis. So I do have remote access to their servers and such. Up to now this was OK, but I move into a market where there is a lot of competition and clients are very anxious about their data and having a server that only they have access to.
They proposed that I sell an exclusive version of the software to them so that they can carry on with maintenance and future updates in-house.
I do consider and brain-storm around business models that can revolve around that idea. But at the same time I think about if it would be reasonable/practical to support/update/maintain an application without accessing the database server directly at all..
Any suggestions appreciated..
Ps: Having a non-disclosure agreement is not enough for this situation.
Do they fully understand what it will take to get someone in their organisation trained to be able to maintain the application?
Make this clear to them.
What happens when an employee of the company who's had access to this information leaves?
This is a more likely source of data leakage.
Offer to sign a non-disclosure agreement which is standard in this sort of case.
Have you thought of Encryption techniques on database side....
You don't need the access to database for application maintenance. You don't have to service the database if they have the staff. If you need to change something in DB you can do it with scripts, or special one-time mini-applications. If they want the database let them have it.
I want to build a simple app (probably in MS Access) for a simple small-business database. We have fairly typical entities -- customer, contact, worker, supplier, sub-contractor. These are all variations of some hypothetical parent class, e.g. person. Is it worth it to try to reflect this hierarchy in the tables and forms used by such an app? How would we do that? Master table of people with extension tables for each category related to it? Form for people with some kind of sub-form for the extensions? Or just forget all that and code similar but different forms and tables for each specific kind of entity? This is definitely not worth major amount of work or rocket science. Any standard solution out there that I can follow to get a little extra bang for the buck?
If this is for a desktop application.. then my best bet is on RocketFramework.
It is free great library solid enough to develop even an enterprise scale system.. so it is big YES for you..