This repository contains the code of virtual workspace that will manage your projects and tasks virtually using a single platform. It is a project management software that will the tasks easily. You can just give a project or task id and their names to get access to the account and make changes in it.
The software is totally written in Go language. This repository contains six directories and in these six directories, many files are present that perform different functions. Using alphabetical order.
- The first directory is database that will handle the database stuff and I used MongoDB database in this code.
- The second directory is entrance that will handle the signup and login functionalities.
- The third directory is profile that will show the account information to the user.
- The fourth directory is projectWork that will handle all the projects and tasks.
- The fifth directory is taskChoice that will give the user a choice to select any function.
- The sixth directory is vendor that contains all files related to MongoDB and that directory is created using
go mod vendor
The headers will be used to reference the location of destination.
- The First Directory
- The Second Directory
- The Third Directory
- The Fourth Directory
- The Fifth Directory
- Author Info
In the first directory, I created one file that is db.go. It contains twelve functions that will handle different tasks.
- The first function is
Connection()
. It will make the connection to database that is MongoDB. This function is equal to theCNX
variable. The databaseurl
is also given. - The second function is
Insertdata()
. It will enter the data to database. It usesInsertOne
to insert the data. - The third function is
Findaccount()
. It will find the account data in database. It usesFindOne
to find the data based on email address and password. - The fourth function is
Updateaccount()
. It will update the account details in database. It filtered the data based on password and allow the user to change that data. - The fifth functions is
Deleteaccount()
. It will delete the account in database. It usesDeleteOne
to remove the data from database. - The sixth function is
Findproject()
. It will find the project data in database but this finding will be based on project id and project name. - The seventh function is
Updateproject()
. It will update the project details in database but this will be based on project id. - The eighth function is
Verifyaccount()
. It will find the account details and after verification, it will delete that account. - The ninth function is
Findtask()
. It will find the task data in database but this finding will be based on task id and task name. - The tenth function is
Updatetask()
. It will update the task details in database based on task id. - The eleventh function is
NameandEmail()
. It will just update the name and email address of a task. - The twelveth function is
Uploadfile()
. It will transfer a file(video, audio, etc) to database. Two parameters are used. First one is used as path and another one is used as the exact file name.
In the second directory, I created two files. One is login.go that contains one function and another is signup.go that also contains one function.
- The first file function is
Login()
that will take your email address and password and find that details in database to allow you to login.
Now come to the second file signup.go
- The second file function is
Signup()
that will take your name, eamil address, password, and business name to make an account and insert that data in database.
In the third directory, I created one file that is info.go. It contains one function.
- The function is
AccountInfo()
that will show the information that a user already gave when signing up and show more options to update and at the end, it will give a choice also to close an account.
In the fourth directory, I created two file. One is project.go that contains one function and another is task.go that also contains one function.
- The first file function is
Project()
that will give three choices to the user, that are create, update and delete a project. - For project creation, it imports
Insertdata()
function to insert data in database. - For project updating, it imports
Findproject()
function to find the data in database andUpdateproject()
function to update the data in database. - For project deletion, it imports
Verifyaccount()
function to verify an account and delete it. - The second file function is
Task()
that will give two choices to the user, that are add and edit a task. - Here the
Insertdata()
function is also imported and instead ofFindproject()
andUpdateproject()
, I importedFindtask()
andUpdatetask()
. - Two more functions are also imported in task.go that are
Uploadfile()
that will uplaod files to database andNameandEmail()
that will update name and email address.
In the fifth directory, I created one file that is TaskOption()
. This will provide a list of tasks and give the user a choice to select any one of them.
The sixth directory contains a lot of subdirectories and files. You can make this directory and other files out of the directory using the following commands.
go mod init
go mod tidy
go mod vendor
- YouTube - ibilalkayy
- LinkedIn - ibilalkayy
- Twitter - ibilalkayy