Online Multi developer Code Repository Test phase, srs, design phase and source code final deliverable
Project Domain / Category Web Application
Abstract / Introduction
Software development is a large and emerging field of IT. With introduction of each latest technology the need of the software development for these technologies is also increased. It is very important for a software developer to manage the code repositories online to manage the programming tasks efficiently.
This web application is an online storage service for software developers which also provides version control and many other features such as access control, bug tracking, software feature requests, continuous integration of the requested features.
The software developer will register and create a new project and then upload the code relevant files in the relevant project directory. While creating the project the developer can set the access control to public or private. Moreover the developer can also edit the already created projects and the application will automatically handle the version of each file and project where applied. A registered developer can also generate a bug report and new feature request for other developer’s public code and these requests will be handled by the owner of the code. More detail of developer’s functionality is given in next section.
A guest/unregistered user can search the public repository using different filters such as software category, project name and technology etc. and he/she can download the repository in compressed format if allowed by the developer.
The admin will perform all the tasks of developer along with approving/rejecting any pending registration requests of developers. More detail of admin functionality is given in next section.
Functional Requirements:
This system will have three different users:
- Administrator
- Developer
- Unregistered User/ Guest
Ø Functionalities of Administrator
- Add/Approve/reject developer registration requests.
- Add / update /delete software categories (Desktop, Mobile, Web etc.).
- Add / update /delete technology (PHP, .Net, Python, Android, IOS etc.).
- Perform all functionalities of developer.
- Perform all functionalities of unregistered user.
- Reply feedback\messages received from developers.
- Generate any new notification for developers and guests.
ü Functionalities of developer 1. Registration/login to the system .
- Add/update contact details.
- Upload and update profile, the profile must include Developer’s name, Selected Software categories, Selected technologies etc.
- Publish/update/delete Project directory.
- Publish/update/delete file(s) in a Project directory, versioning will automatically be controlled by the system for each file.
- Set access control (Public, Private, Shared with selected developers only) for each project directory or file.
- Generate Bug report for public code owned by other developer(s) after code execution and testing.
- Generate feature request for public code owned by other developer(s) after code execution and testing.
- Give feedback for public code owned by other developer(s) after code execution and testing.
- View and reply registered developers’ feedback for own code. 11. View own code ratings by different developers 12. View download count for each project or file.
- Functionalities of an Unregistered customer
- Search the public repository using different features such as software category, project name and technology etc.
- Download the public repository in compressed format if allowed by the developer.
- View download count for each public project or file.
- View ratings for each project.
Tools:
- PHP and MySQL (You can choose any PHP framework such as Laravel)
- Bootstrap or any other CSS Framework
- Any JavaScript library/ framework such as jQuery, Vue Js, react Js or angular Js for front end.
Supervisor:
Name: Rehan Ahmed