?
Solved

Designing an architecture for a training website

Posted on 2014-10-28
1
Medium Priority
?
154 Views
Last Modified: 2014-10-31
Hello,

I'm trying to design a website that would allow people to receive training through videos, there shouldn't be much traffic, here are the requirements:
- have hooks into YouTube API
- provide email updates
- allow users to take quizzes
- view/download PDF's

I'm using Django and MySQL to build this website, but I'm new to Django and I'm trying to figure out the best way to keep this site maintainable. I'd appreciate any suggestions on database system, or general django practices.

I'm going to be keeping each module isolated, and keep them loosely coupled; but are there any other practices that make a website more manageable?

Appreciate any help!
0
Comment
Question by:Errang Genevre
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 4

Accepted Solution

by:
Jernej Navotnik earned 2000 total points
ID: 40410930
Dear Errang Genevre,

Well, to be honest, your question is quite broad, and hard to answer (and I know little of Django but have a bit of python knowledge), so my 5 cents are not here "to be accepted", just to give you some experience I've gotten in these past years, and someone else will probably be more on the spot.

1. Your application must work on a sheet of paper - if you catch my drift. Sketch, but do not "over-sketch", at first, keep things simple(r).  
2. Write down the application "plan" (or objects) from this sketch. This will give you quite an insight, where your building blocks will connect (if you will want to), and will also provide an insight what should come first. I've started a few times exactly on the the "wrong end"... :)
3. If you will work alone, it is important that you document what you write. If you'll work with a team, than this is even more important.
4. Write with caching in mind - as I said, keep it simple at first, but caching can come handy later (with python, you can do good caching, I am shure Django has somethings already built-in).
5. Not to repeat stuff, but try not to "hardcode" vars.
6. Make the most use of the framework you've chosen. I am not sure how to say this, but "It's easier to adjust yourself to work with the framework than to adjust the framework to work like yourself."
7. If needed, make good use of MySQL indexes and relations (FK) - It will enable you to do less checking in the code

That's about it. :)

Best of luck, Jernej
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Dramatic changes are revolutionizing how we build and use technology. Every company is automating, digitizing, and modernizing operations. We need a better, more connected way to work together as teams so we can harness the insights from our system…
When the s#!t hits the fan, you don’t have time to look up who’s on call, draft emails, call collaborators, or send text messages. An instant chat window is definitely the way to go, especially one like HipChat. HipChat is a true business app. An…
The viewer will get a basic understanding of what section 508 compliance can entail, learn about skip navigation links, alt text, transcripts, and font size controls.
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question