GithubHelp home page GithubHelp logo

meullah / fyp-manager Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hashirshoaeb/fyp-manager

0.0 0.0 0.0 39.48 MB

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

Home Page: https://hashirshoaeb.github.io/FYP-Manager

License: GNU General Public License v3.0

HTML 4.71% JavaScript 93.55% CSS 1.74%

fyp-manager's Introduction

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


fyp-manager's People

Contributors

hashirshoaeb avatar khizarkhizar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.