Skip to content

FYP-Manager is a web application that allow students to work together and manage their project progress and meetings with supervisor remotely.

License

Notifications You must be signed in to change notification settings

hashirshoaeb/FYP-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Final Year Project Manager

WE ARE DEVELOPING A PROJECT MANAGMENT SYSTEM FOR STUDENTS.


Description:

FYP-Manager is a web application that allows students to work together and manage their project, progress and meetings with supervisor remotely. FYP-Manager aims to keep track of the project progess and milestone to be achieved timely, which is benificial for both parties (project supervisor and students). Usually teachers and professors have tough schedule. And they barely meet in their officies, FYP-Manager provides online platform, where supervisor can share any resource with the students who are doing his project anytime.

So what is does is:

  • Keep track of project progress
  • Saves times
  • Schedule meetings
  • Maintain resources
  • Let you focus on Goals and Milestones

Technology stack: | Bootstrap | Reactjs | Nodejs | MongoDB |

Status: Under development.

Links to production or demo instances

Screenshot: (Later)


Table of Contents


Development Documentation

How to start

The setup instructions assume that you're using Git Bash, but the concepts are the same if you're using Git GUI or another version control software.

  1. To begin, fork the current "FYP-Manager project repository" on GitHub.

  2. Clone the repository of your fork. Launch Git Bash, and use the following command. Replace <your-username> with your GitHub user name:

    git clone https://github.com/<your-username>/FYP-Manager.git
  3. Move into the FYP-Manager directory with the following command:

    cd FYP-Manager
  4. Assign the forked repository to a remote called "origin".

    git remote add origin git://github.com/<your-username>/FYP-Manager.git
  5. Assign the original repository to a remote called "upstream".

    git remote add upstream https://github.com/hashirshoaeb/FYP-Manager.git
  6. Install frontend packages with npm:

    npm install
  7. Start dev server

    npm start

Code directory structure

    FYP-Manager/
    |__ public/
    |   |__ index.html
    |__ src/
    |   |__ asserts/
    |   |       (images and stuff)
    |   |__ components/
    |   |   |__ website-components/
    |   |   |       (components for website)
    |   |   |__ webapp-componentes/
    |   |   |       (components for web-app)
    |   |__ App.css
    |   |       (global css file)
    |   |__ App.js
    |   |       (main frontend component)
    |   |__ index.js
                (main starting point)

Requirements summary

  • Entities
    • student (Team leader and members)
    • teacher (Supervisor and Co supervisor)
    • project
    • timeline (milestone)
    • stars
    • Notification
    • Authentication
    • log
  • Student can view the list of projects.
  • Student can request for a project.
  • Student will have one project at a time
  • Student will have a project timeline once it is accepted by a supervisor.
  • Student can invite other students to make team.
  • Teacher can approve one student for one project.
  • Teacher can create project.
  • Teacher who create project will be the supervisor for that project.
  • Supervisor can send invitation to other teachers to be the co supervisor for his project.
  • Team leader can set milestones.
  • There will be an "issues" tab, where students and teachers can discuss issue,
  • Anyone can raise issue.
  • Who can add and set milestones?
  • Who can schedule meetings?
  • Project progress?
  • Evaluation process?
  • Notifications?

Modules to work on

Views:

  • Navigation bar
  • MainBody
  • About FYP Section
  • Projects Section
  • How it works section
  • Sign in cards
  • Sign up cards
  • Footer note
  • Static website routing
  • Student profile
  • Teacher profile
  • Dashboard
  • Progress component
  • Timeline component
  • Rate stars component
  • Chat box component

User Site preview Site preview Site preview

Search Project Site preview

Project (start project) Site preview Site preview Site preview Site preview

Models:

  • User data model

    {
      "user": {
        "id": "Type: Number",
        "created_at": "Type: Date",
        "name": "",
        "bio": "",
        "qualification": "",
        "category": "",
        "notifications": "virtual",
        "requests": "virtual"
      }
    }
  • Requests data model

    {
      "request": {
        "id": "Type: Number",
        "created_at": "Type: Date",
        "from": "sender_id",
        "to": "receiver_id",
        "for": "project_id",
        "status": "accepted, rejected, pending"
      }
    }
  • Notifications data model

    {
      "notification": {
        "id": "Type: Number",
        "created_at": "Type: Date",
        "link": "",
        "description": "",
        "user_id": "for user"
      }
    }
  • Milestone data model

    {
      "milestone": {
        "id": "Type: Number",
        "created_at": "Type: Date",
        "start_day": "",
        "end_day": "",
        "total_days": "end_day - start_day",
        "title": "",
        "description": "",
        "is_achieved": "false default",
        "rating": " ",
        "project_id": "for project"
      }
    }
  • Conversation data model

    {
      "thread": {
        "id": "Type: Number",
        "created_at": "Type: Date",
        "project_id": "for project",
        "message": "",
        "user_id": "from user"
      }
    }
    {
      "reply": {
        "id": "Type: Number",
        "created_at": "Type: Date",
        "thread_id": "for thread",
        "message": "",
        "user_id": "from user"
      }
    }
  • Project data model

    {
      "project": {
        "id": "Type: Number",
        "created_at": "Type: Date",
        "starting_date": "Type: Date. from this date progress will be started calculating",
        "title": "Type: String",
        "description": "",
        "link": "",
        "tags": "",
        "milestones": "virtual",
        "user_id": "owner of project",
        "team": "id's of collaborators",
        "threads": "virtual",
        "progress": "calculation from milestones"
      }
    }

Controllers:

Contribution

Project is under development. Contributors are most welcomed to join. Feel free to ask question.

Getting involved

  1. Raise Issue, discuss fearture you want to fix
  2. Fork repo
  3. Fix it
  4. Generate Pull Request

Issues

  • Fix readme.md to standard format
  • Search functionality needs improvment

Credits and references



Hashir Shoaib


Khizer Hayyat


Open source licensing info

LICENSE


About

FYP-Manager is a web application that allow students to work together and manage their project progress and meetings with supervisor remotely.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published