WE ARE DEVELOPING A PROJECT MANAGMENT SYSTEM FOR STUDENTS.
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)
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.
-
To begin, fork the current "FYP-Manager project repository" on GitHub.
-
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
-
Move into the
FYP-Manager
directory with the following command:cd FYP-Manager
-
Assign the forked repository to a remote called "origin".
git remote add origin git://github.com/<your-username>/FYP-Manager.git
-
Assign the original repository to a remote called "upstream".
git remote add upstream https://github.com/hashirshoaeb/FYP-Manager.git
-
Install frontend packages with npm:
npm install
-
Start dev server
npm start
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)
- 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?
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
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:
Project is under development. Contributors are most welcomed to join. Feel free to ask question.
- Raise Issue, discuss fearture you want to fix
- Fork repo
- Fix it
- Generate Pull Request
- Fix readme.md to standard format
- Search functionality needs improvment
Hashir Shoaib |
Khizer Hayyat |