GithubHelp home page GithubHelp logo

bik-krlvnorg / sms_service Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 2.0 2.92 MB

Express backend for sms_client with nestjs framework

License: MIT License

JavaScript 0.46% Shell 0.45% TypeScript 98.46% Dockerfile 0.46% Makefile 0.17%
typescript typeorm nestjs-library mysql bull redis docker unit-testing integration-testing continuous-integration

sms_service's People

Contributors

alvinmarshall avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sms_service's Issues

course-management

features

implement course management to allow course-subject in the system

Acceptance criteria

  • CRUD on Courses
  • Link Courses to subject

Seed default system user

features

seed a system admin when application start for the first time

Acceptance criteria

  • system user username is admin
  • system user password is admin

Tutor Service

feature

add functionality of a tutor in the system

Acceptance criteria

  • management service for tutor

student enrollment

features

implement student enrolment of courses in the system

Acceptance criteria

  • enrol a student on a course

Student Profile

features

  • display Basic Info
  • display Address
  • display Contact person

NB

Database info

Table

name = es_preadmission

Columns

Start

date

Deadline

date

Student Service

[x] feature
add admission functionality
student profile

use case

use below information to create admission service

// student information
field: [title]
field: [first name]
field: [last name]
field: [middle name]
field: [current session]
field: [gender]
field: [dob]
field: [religion]
field: [nationality]
field: [avatar url]
field: [classId]

//account
field: [username]
field: [password]
field: [email]

field: [prevSchoolDate]
field: [admission type]

// address
field: [address]
field: [city]
field: [residential address]

// sms message number
field: [sms number]

field: [contact]

// parent information
field: [father name]
field: [mother name]
field: [father occupation]
field: [mother occuapation]

Staff Profile

features

  • display personal info
  • authorization required

Database info

Table

name = es_staff

Acceptance criteria

  • should be authorize to get profile

RBAC support

Feature

“Role-Based Access Control” is an approach to restricting system access to authorized users.

  • User Roles
  • Roles Permissions

Assign a tutor to a subject

features

implement a service to allow subject to be assign to tutors

Acceptance criteria

  • A tutor can teach one or many subject
  • A subject can be taught by one or many tutors
  • Tutor can view all his assigned subjects

fix authentication

Describe the bug
Refactor authentication logic.

The current authentication logic is not ideal and hard to maintain in the future

Create Student

Feature

Provide service to create a new student into the system

confirmation-email

features

During user registration, send confirmation token as mail to continue the process

Acceptance criteria

  • send token as email

Service Authentication

features

  • Implement authentication for user types [admin, staff, student]

Database

Columns

name admin staff student
username adminUsername stUsername pre_student_username
password adminPassword stPassword pre_student_password
other status, selstatus, tcstatus status
table es_dmin es_staff es_preadmission

Acceptance criteria

  • should return access and refresh token after login
  • should check invalid params

Forum Entities

features

Add Thread model
Add Post model
Add Votes model
Add Groups model
Add Category model

Noticeboard

features

create the notice board functionality

Acceptance criteria

  • view all notice

Authorization required

  • Only Student or staff can be allowed

Attendance Service

  • feature
    show attendance for user type[student]

Acceptance criteria:

  • authorization required
  • display attendance information

Notice Message

features

notice messages service deliver messages to target recipients on the system.

Acceptance criteria

  • should be able to send notice message to target
  • should be able to read sent messages
  • should be able to receive other messages
  • authorization is required here

Data Inconsistency in Fees Service

Describe the bug
If program encounters an error, the fees payment are still kept in the db till the encountered
execution which doesn't insert the it's data. This can be problematic in the long run

To Reproduce
Steps to reproduce the behavior:

  1. Throw an error in one of the saga event in module/fees
  2. Start the server
  3. Make a post request to pay fees
  4. The throw error is shown at console
  5. All the fees request are still the db without roll back

Expected behavior
A roll back is required if a transaction fails

Fees

features

fee service to handle fee payment for academic year, student and other
student wise transactions

Use case:

Fee payment walkthrough

  • field: [amount]

  • field: [fine]

  • select [es_voucher] to get voucherId

  • field: [es_voucherid]

  • select [es_ledger] to get es_ledgerid
    field: [es_ledgerid]

  • select payment mode [cash,cheque]
    field: [payment_type]

if [payment_type] == cheque:
bankInfo()

bankInfo = {

  • field: [bank name]
  • field: [account number]
  • field: [cheque number]
  • field: [teller number]
  • field: [pin]
  • field: [note/narration]
    }

Acceptance criteria

  • authorization is required. user type[admin] only
  • should able to add fee for an academic
  • should able to display any student fee detail
  • should able to display fee information for every class
  • should able to display grand total of fees for all academic year

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.