Skip to content

Submitted in partial fulfilment of the requirements for the BEng (Hons) Software Engineering degree at the University of Westminster, UK.

License

Notifications You must be signed in to change notification settings

Bunny77K9/6COSC022C-Advanced-Server-Side-Coursework

Repository files navigation

Dev Forum - A Technical Q&A Platform

Build and deploy

Dev Forum is a dynamic platform designed to facilitate knowledge exchange and collaboration within the tech community. It empowers users to ask technical questions, provide insightful answers, and engage in meaningful discussions.

https://devforum.azurewebsites.net/index.php/home/

🚀 Key Features

  • User Registration and Authentication: Securely create accounts, manage profiles, and personalize your experience.
  • Question Posting and Browsing: Seamlessly post technical queries and explore a vast repository of existing questions.
  • Answer Submission and Voting: Contribute solutions, upvote or downvote answers based on their relevance and accuracy.
  • Question Grouping: Organize questions by topics or relevance using tags for efficient navigation and discovery.
  • Image Uploads: Enhance your questions and answers with visual aids for better clarity and understanding.
  • Bookmarking: Save interesting questions for future reference and easy access.
  • User Profiles: Showcase your expertise, track your contributions, and build your reputation within the community.
  • Achievements and Levels: Earn recognition and rewards for your active participation and valuable contributions.

🛠️ Technologies Used

Backend

  • PHP 8.0: Robust server-side scripting language for dynamic content generation.
  • CodeIgniter 3.1.13: Streamlined PHP framework for efficient web application development.

Frontend

  • Backbone.js: Lightweight JavaScript framework for structured client-side interactions.

Database

  • MySQL: Reliable database management system for storing and retrieving data.

☁️ Hosting and Deployment

  • Azure Web App Service: Scalable cloud platform for hosting web applications.
  • Azure Database for MySQL: Managed MySQL database service on Azure.

📂 Version Control

  • GitHub: Repository for version control and collaboration.

⚙️ Installation and Setup

Clone the Repository

git clone https://github.com/your-username/DevForum.git

Database Setup

  1. Create a MySQL database on Azure.
  2. Import the provided SQL schema (dev_forum.sql) into your database.
  3. Configure database connection settings in application/config/database.php.

Azure Deployment

  1. Deploy the application to Azure Web App Service.
  2. Set up environment variables for database credentials and other configurations.

📘 Usage

  • Register/Login: Create an account or log in to your existing account.
  • Ask Questions: Click on "Ask Question" and fill in the details.
  • Browse and Answer: Explore questions, provide answers, and participate in discussions.
  • Vote and Comment: Upvote or downvote answers, and leave comments to share your insights.
  • Bookmark and Profile: Save interesting questions and manage your profile information.

🎓 Learning Outcomes

  • LO1: Gained hands-on experience with modern web development frameworks and tools.
  • LO2: Learned to deploy and manage applications on cloud platforms like Microsoft Azure.
  • LO3: Enhanced understanding of RESTful API design and implementation.
  • LO4: Improved skills in database design and management using MySQL.
  • LO5: Acquired practical knowledge of version control with GitHub.

🔮 Future Enhancements

  • Real-Time Notifications: Implement real-time notifications for answers, comments, and upvotes.
  • Reputation System: Develop a reputation system to reward users for valuable contributions.
  • Advanced Search: Add advanced search capabilities to help users find relevant questions and answers quickly.
  • Mobile Optimization: Improve the mobile responsiveness of the platform for a better user experience on smartphones and tablets.
  • Security Enhancements: Implement advanced security measures to protect user data and prevent vulnerabilities.

🤝 Contributing

Contributions are welcome! Feel free to submit issues, bug reports, or pull requests.

📜 License

This project is licensed under the MIT License.

🙏 Acknowledgements

This project was developed as part of the Advanced Server-Side Web Programming module at the University of Westminster, UK. Special thanks to Mr. Ruwan Egodawatte for his guidance and support.

📚 References

About

Submitted in partial fulfilment of the requirements for the BEng (Hons) Software Engineering degree at the University of Westminster, UK.

Topics

Resources

License

Stars

Watchers

Forks