I am currently fluent with html and css. My goal is to create a website where there will be tasks for site users to gain points for completing certain tasks. Tasks include reviewing a material they used which they will gain points for if the review is useful, points are also expendable. They can spend these points on special features in the site.

The website as i imagine will also need to run by itself pretty much. The website will also be a place for people to upload files that they want review of. The reviews will hopefully be sent to their email as site users download it.

We would also like a sort of file hosting system/feature to be implemented in the site that users will be able to upload and the consumers will download it all through our website.The downloads on certain material will be sent to their emails through a unique link or code(whichever way this could work so that the download file will not be redistributed). We would like a terms of agreement notice before the download so that if its not accepted they cannot download the file.

The files will be generally big and we expect alot of traffic on the site. My question now is where do i start. More like what Proggraming language will be beneficial to create this. I'm also not sure if this would be a Web application or just a dynamic site.

Please List the individual program languages for each task . Thank you very much for reading this question!

Dani AI

Generated

A practical way to frame this for is to treat it as a web application made of a few clear parts: a user-facing UI, a backend API, a transactional database, scalable file storage, background workers for emails/processing, and a CDN/cache layer for performance. and are right that many stacks will work; pick one that has solid libraries for uploads, queues, email, and security.

Suggested language roles (pick one server language and its ecosystem for most tasks):

  • Front end: JavaScript (React, Vue, or similar) alongside your HTML/CSS for interactive UIs and client-side validation.
  • Backend/API: Python, Node.js (server-side JavaScript), Go, Java/Kotlin, or Elixir — any of these can implement user/auth, points logic, token issuance, and REST/WebSocket endpoints.
  • Persistence/caching/search: PostgreSQL for transactional data (points, users, consent logs), Redis for counters/caching, and a search engine (if you need fast text search).
  • File handling: backend in the chosen language to coordinate uploads/downloads; store large files in S3-compatible object storage and serve via signed, short-lived URLs.
  • Workers/queues and email: background workers (language-native queue libraries) to handle virus scans, generate presigned links, send transactional email via a provider, and process review notifications.

Key implementation notes and cautions: never proxy large files through your web app—use direct-to-object-storage uploads and presigned URLs to offload bandwidth. Enforce server-side MIME/type checks, virus scanning, file size limits, and store user acceptance of terms (timestamp + IP) before issuing download tokens. Protect downloads with one-time or short-lived signed tokens, log deliveries, and use a CDN in front of storage for high traffic. Start with an MVP: user accounts, a points ledger, task workflows, direct uploads to object storage, and a worker that sends review emails.

Recommended Answers

All 6 Replies

You can use one of two common languages, PHP or ASP.NET.

These are two server side languages that allow you to communicate with a database (if using PHP, MySQL would be my advice) and also allows you to do the cool features you are wanting.
I would however offer a word of warning about file uploads, you need to be extremely careful about what files you allow a person to upload as it can be extremely dangerous.

thank you for the reply. May i just ask if ruby on rails would work with this?

Nothing wrong with using Ruby on Rails, I only suggested PHP and ASP because they are extremely common, if you really wanted to you could use C++ or another high profile language.

ah thankyou this makes sense now, i used to think that each one was used for a certain thing but im starting too understand that they can all achieve the same outcome but its easier in certain languages.

Not necessarily easier, some languages do have specific jobs.

C++ wasn't initially designed to be used for web development, and it is very bulky to use it for such a task, plus it is a lot more difficult to learn and more time consuming to use.

PHP, ASP and Ruby on Rails are designed for the web, Ruby on Rails is a framework, whereas PHP and ASP are just the plain languages (not to say they don't have frameworks, such as CakePHP and WASP).
On the otherhand, ASP is Microsoft specific whereas PHP is maintained by a company called Zend, a lot of it is personal preferance, but that isn't to say some don't have their perks.

To add, i think there is some confusion about ASP and ASP.NEt since both were mentioned in this thread. They are not the same.

ASP.net is a framework. You could develop in asp.net using c#, vb.net, and other languages. Where classic ASP would more similar to PHP.

commented: Thanks for clearing that up JorgeM. +4
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.