mykeels / college-portal Goto Github PK
View Code? Open in Web Editor NEWA university portal software. This project now being rebuilt with Laravel PHP at https://github.com/college-portal/college-portal
License: MIT License
A university portal software. This project now being rebuilt with Laravel PHP at https://github.com/college-portal/college-portal
License: MIT License
Don't be afraid ... It's 9 issues in one, and you don't have to handle more than one, but it'd be cool if you did.
A data proxy is an object that contains functions for accessing a data record using the CRUD model.
It contains getAll
, getById
, insert
, update
, and destroy
functions.
Each data proxy is a wrapper around an already existing sequelize model.
Take a look at the action-proxy which is a data proxy for models/users/actions.model as a guide for implementing data proxies.
It exports a function which takes in a sequelize
model, and EventEmitter
instance, and returns an object which is a data proxy for the sequelize model.
Every action that mutates the state of the DB must raise an Event.
Sample Events have been given in action-proxy which are:
{
INSERT_SUCCESSFUL: 'db:action:insert:success',
INSERT_ERROR: 'db:action:insert:error',
UPDATE_SUCCESSFUL: 'db:action:update:success',
UPDATE_ERROR: 'db:action:update:error',
DELETE_SUCCESSFUL: 'db:action:delete:success',
DELETE_ERROR: 'db:action:delete:error'
}
This is to enable other modules to listen to these events and perform some action
To enable a more complete range of uses the application would serve,i think schemas should be created for the following features..
[ Payment integration] might include traceable history of payments and unpaid/outstanding payments.
So the institution/dept should be able to setup/adjust the payment per semester/per dept . (since in some schools, fees differ per course)
[School and Department/Faculty wide notifications ]. So prompt announcements can get to those concerned, probably should be implemented differently for students and staff, or at least separately.. like staff internal memos and stuff or departmental messages for students, this should be forwarded to the recipient via mail as its not reasonable to expect people to be on-line on the platform at all times
[ Possible missing fields] I can't spot fields for Gender, Matric No...
There is the need for a program_department table linking the departments available for a given programme. Also, the student table needs a programme_id key as you need to know what programme the student is enrolled in. The course table needs programme_id & course registration needs to hold the unit of the course as at when it was registered and the session it was registered.
We need folders for:
As a User
I want to sign up / in
To perform certain actions based on my role(s).
ID,
username,
email,
password,
creation date,
gender.
PHONE_NUMBER,
IMAGE,
USERS_IS_USER_TYPE,
USERS_HAS_ROLE,
USER entity ref: https://devcenter-square.slack.com/files/U1S73STHD/F7Y2CAWU8/pasted_image_at_2017_11_11_10_38_am.png
References #14
For all the data proxy files created, write tests, such as https://github.com/mykeels/college-portal/blob/master/src/db/tests/action-proxy.test.js
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.