This is a git Template for CS-476, Software Development Project Course.
Department of Computer Science, University of Regina.
Welcome to the Optional Class Project repository for Software Development Tools & Technologies. This repository is intended to provide students with an opportunity to explore different tools and technologies used in software development projects and to collaborate with their peers.
If you would like to contribute, please follow these guidelines:
-
Code of Conduct: Please be respectful and professional in your contributions, avoiding hate speech, harassment, and discrimination.
-
Quality of Contributions: Contributions should be accurate, well-formatted, and clearly explained.
-
Create a Fork of the Project: create a fork of the repository under your own GitHub account.
-
Git Workflow: Use the basic Git workflow to make changes to the repository, including cloning the repository, making changes, committing changes, and pushing changes to your fork. Then, create a pull request to request that your changes be merged into the original repository.
-
Naming Conventions: Please use clear and descriptive naming conventions for files and directories. For example:
frontend-tools.md
-
Formatting: Contributions should be formatted in markdown for text-based files or using a specific file extension for code. For example:
.md
for markdown files and.py
for Python code files. -
Approval Process: Contributions will be reviewed by the repository maintainer and will be merged into the main branch if accepted.
-
Communication: If you have any questions or feedback, please use GitHub issues or a discussion forum to communicate with others. For example: open a GitHub issue with the title "Question about Git Workflow".
Below is a list of topics that students can choose from for their contribution:
-
Front-end Development Tools & Technologies
- HTML/CSS frameworks (e.g. Bootstrap, Foundation)
- JavaScript frameworks & libraries (e.g. React, Vue.js, Angular)
- CSS preprocessors (e.g. SASS, LESS)
-
Back-end Development Tools & Technologies
- Server-side programming languages (e.g. Java, Python, Ruby)
- Web servers (e.g. Apache, Nginx)
- Databases (e.g. MySQL, MongoDB, PostgreSQL)
-
DevOps Tools & Technologies
- Containerization (e.g. Docker, Kubernetes)
- Continuous Integration & Continuous Deployment (CI/CD)
- Infrastructure as Code (e.g. Terraform, CloudFormation)
- Amazon Web Services (AWS)
- Deploying a Spring Boot web application on Amazon EC2 instance
- [Host a static website on an Amazon S3 Bucket] ()
-
Project Management Tools & Technologies
- Agile methodologies (e.g. Scrum, Kanban)
- Task management (e.g. Trello, Asana)
- Collaboration & Communication (e.g. Slack, Microsoft Teams)
Please feel free to suggest new topics or expand upon existing topics by adding details and examples. By contributing to this repository, students will learn about different tools and technologies used in software development projects and gain hands-on experience with Git and collaboration.