To make a plan for my first MySQL project
mysql, python
Solution
First, this is all a lot to work with in a week. But here it goes.
Tools for the backend:
- SQLAlchemy - This is an ORM toolkit that is plenty powerful for most smaller tasks when using a MySQL database built with Python. To my knowledge, it is the best for this job. http://www.sqlalchemy.org/
- Django - "...is a high-level Python Web framework..." This might be better for rapid development of a site with login/logout methods included and a minimal learning curve for someone with web/Python understanding.
Tools in building the frontend:
If you already plan on using Django for the backend, I'd recommend using it for the frontend as well.
Things about which you are uncertain:
- The users can be specified in MySQL and their permissions can be set accordingly.
- From some of the requirements you listed, most of these sound like they can be contained within the capabilities of Django.
Problem
I need to complete the plan of a ask-a-question site for my uni. in a few days. I need to have the first version of the code ready for the next Tuesday, while the end of the project is in about three weeks. Questions about the project which do not fit here - to make efficient tables - to improve a relation figure - to improve a ERD diagram - to SHA1-hash you password in a MySQL database by Python - to have a revision history for the questions - to get the right way in designing databases - to get primary and foreign keys right in ERD - to understand login -variable in cookies/URL - to get info about my Uni's servers - to improve SQL -queries - to write SQL queries in DDL correctly - to prevent to use of duplicate tags in a question - to improve SQL queries in DDL - to have no duplicate tags in a table - to separate answers in a databse My uni. offers little support for tools which I selected: Tools in building the backend - Python in building the database schema??? (I am not sure which components I can build by Python) - MySQL to store data - I am not sure which tool to use in building login and logout -system. They do not allow me to use Google's system. This forces me to use some simple open-source code, since it would take more than a week to build a descent login/logout -system. Tools in building the frontend - Django (if we can use MySQL in Django) Tools for Planning - Google Docs' Spreadsheet for illustrating the usecases - TopCoder UML Tool to show primary keys and other relations in the database Tools for coding - Vim, Screen, Zsh, OS X's Visor: my dot-files - EasyEclipse for Python (only if I get a difficult error message) My focus in the project: I aim to build a database system only for users and moderators such that I only provide the following features - to allow user to add to a database such that I neutralize the input (I know that there is some tool for that, but I am not sure about its name.) - to arrange questions by time - to arrange questions by name - to arrange questions by their subject - to allow users to remove their questions - to send an email to user that the question was successfully asked Things about which I am uncertain - how to integrate the login -system to the database such that the user sees only his data that is his username when he logins successfully, similarly as in Joomla - Which components should I not build by Python when I use MySQL for databases? - My uni. does not give me hardware support for the project. This suggests me that I will be better of in using a host which is specialized in my project. I used Djangohosting.ch the last month, and by their toos, I got started. Which host would you use such that I can show the final product to my Uni.? This is my first official database project so my plan apparently has shortcomings, since there must be tools which I do not know. Please, pinpoint any one of them.