Database design schema for a simple community website - mysql

Where can I find a template for a database design schema. I will be using MySQL. It is a simple website where users, managers, admin can login. Also user can pay a subscription fees and one time fees Using credit card or paypal. I am really confuse how to design the database properly without having major issues later on in the project.This is just a pet project so my resource is none. If you guys could help me out that would be much appreciated.
Thank you

Use followings for reference purpose, and alter them a bit for your need. If you are looking for full functioning data model explicitly for you, then I think, you may not be able to find it.
Sample Databases, use 5th one, I think it suits best for you.
Mysql sample just for reference.

Related

Where to begin for filtering user's inputs to give result

I'm creating a website to be able to find the best result after a user has added their input. I'm newer to programming with only a few months in HTML/CSS and very light Javascript. Due to this, I am unable to properly word my question due to the lack of education so far, thus why I'm seeking advice here!
Best way to describe my idea is by an example:
User is looking for a dish recommendation to cook.
User inputs data (what they are craving, allergies, their cooking experience level, etc..)
Database filters through user's inputs to find the best result, giving them the dish they should cook.
Result is displayed on page for user to see.
If this is a hard to follow idea, let me know what the issue is and I will try to elaborate. I'm just unsure as to where to begin with this, what code-language to use, and how to go about to make my idea a reality.
Thank you in advance for any help/criticism sent my way!
You can go ahead with following steps:
Create mock up/ have an idea of how the screen will look.
Try to create that lay out in html css, css frameworks such as bootstrap can help you to quickly build that user interface.
Create some dummy data JSON and pull the data form that and make app working with Dummy data.
As you know JavaScript you can write backend code in node.js, identify the db you want to work on.
create a table structure / Schema for you data, as per database of your choice, you can use any freeware here, like mongodb, mysql etc.
Once this is done try to connect db with backend code of node.js
Code service/API in node to send data to front end view to display.

Follow Up Customer Database Design

Please excuse me if this isn't the traditional format of how questions are asked or if it is too broad.
I am currently looking for suggestions on how to design and build a customer database with some very simple fields. I work in the sales department for a company that retails after-market truck accessories both online and over the phone. I have some basic programming skills and a little technical ability, the goal of this project is to create a method of targeting sales leads we would like to follow up with.
We will be collecting information from the salesman individually, I imagined creating a web portal that allowed them to answer the following questions:
Customer Email?
How did they find us?
The website they called in on.
Year of the Vehicle?
Make of the Vehicle?
Was the initial investment < $750.00?
Date of purchase?
I would like to query and target customers based on those questions I have listed above.
Any suggestions or insight would be very much appreciated.
-Luke
You have to face a three-stage process:
First Step: Collect all the information you need to include in your database. You can collect this information from people or documents.
Second Phase: Develops a relational database model that allows you to manage the information according to the first 3 formalization rules. If the database is used by external users, you should designs queries and forms to facilitate their work.
Third Phase: Make your own database. If you do not have a software yet, look for one that supports the relational model. Have you already tried MS access?

Controlling access to data in MySQL, using Node, Express, Knex and Bookshelf

I am very new to database design and structuring - I have had no formal training and am purely self taught so I apologize in advance if this is a bland question.
I am designing a web app and am thinking to the future as users will have to be able to interact with each other sharing part of their data. I am wondering if there is a standard convention to controlling access to tables in MySQL and how I should generally tackle this problem with code written in NodeJS, ExpressJS, KnexJS, and BookshelfJS.
For example: a user will be matched with another user, both users will be able to see location, favourite book, etc but not able to see last name, birth date. etc.
How do I control this?
If anyone could point me to a few resources they have found helpful that would be great as well.
You seem to have learned a bit of MySQL and its access control features. Well, database user level access control IS NOT used by modern applications -- that could make resource management, like connection pools, very hard to implement. Usually SQL databases backing web applications have a single or, at most, two users: one for general data access and one for admin purposes.
The kind of access control you mentioned MUST be handled by your application code, YOUR code. There are libraries that help take care of authentication (e.g. passport) and authorization but ultimately it is YOUR CODE responsibility.
So my answer to your "How do I control this?" question is:
With YOUR code.
This is the whole point of Software Development.

Database Design for a social networking website using mysql (just guidance)

I have went through other similar posts here but did not find answer for what I am looking. I am really not good with databases and presently working on a kind of social networking website project.
Taking in consideration that my website have at least 1 million subscribers and I am using mySQL
And my website contains functionality of like both facebook and linkedin, a mix of both in a professional manner. I mean removing more social things of facebook and more professional things of linkedin.
I just want a guidance of how to design databases for such a website. I do not want to dive in normalizations or linking tables. I just want to know how many databases are required for it and what kind of basic tables should it contain.
I thought of creating a main database which contains tables which is of administrative purpose and create a separate database for each user which contains all the tables that hold his data or creating a single database with table names starting with id of user to identify. But I seriously think it is a very bad design.
Kindly help with some tips or anything.
If you have so many subscribers it's better to use Oracle or SQL Server for database and not MySQL my opinion.
Read this it will help you a lot http://www.gplivna.eu/papers/choose_database.htm how to choose the right one for you.
Read this http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/ learn the common mistakes and avoid them.

Best Way to Implement a Versioning System for User Edited Content

I have a requirement to let users edit each others entries. So in case of bad entries, I need to be able to go back to an earlier version.
What is the best way to implement this in the data layer? Should I have like a triage table? And once the admin approves the edit, the triage version gets copied and put into the main entries table?
How would you guys do this?
Thanks,
Alex
This answer may work for you.
Rolling Your Own Plaintext Wiki (Wiki inside a DB)
I know you're thinking in terms of a database, but you may want to look in to using Mercurial or Git as the back-end to your application. It won't work like a database, but you'll have full version control.