touutae-lab / fastgraduation-api Goto Github PK
View Code? Open in Web Editor NEWFast Graduation Backend API Develops with Python Flask API
License: MIT License
Fast Graduation Backend API Develops with Python Flask API
License: MIT License
Create Login with Username and Password System implement with Supertoken Framework,
Most of work you can design and implement as you desired.
Add pre-commit hooks that will automatically run the following dependencies after every commit locally.
Formatter & Linter
Unit Test
Documentation
The Admin System is an important part that let system moderators manage the overall data and users.
student/
or admin/
directory./student
/browse_course?q={search text}&init=1
@dward2nd/enrollment
@dward2nd
/suggest?init=1
@Touutae-lab
/admin
student
/student/add
@NMWANNABEAIENGINEER/student/browse?q={search text}
@NMWANNABEAIENGINEER/student/edit/<student_id>
@NMWANNABEAIENGINEER/student/delete/<student_id>
@NMWANNABEAIENGINEERcourse
/course/add
/course/browse?q={}
@NMWANNABEAIENGINEER/course/edit/<student_id>
@NMWANNABEAIENGINEER/course/delete/<student_id>
course category
/course_category/add
@ph0pz/course_category/browse?q={}
@ph0pz/course_category/edit/<category_id>
@ph0pz/course_category/delete/<category_id>
@ph0pzprogram
/program/add
@NMWANNABEAIENGINEER/program/browse?q={}
@NMWANNABEAIENGINEER/program/edit/<student_id>
@NMWANNABEAIENGINEER/program/delete/<student_id>
@NMWANNABEAIENGINEERprogram plan
/plan/add
@ph0pz/plan/browse?q={}
@ph0pz/plan/edit/<plan_id>
@ph0pz/plan/delete/<plan_id>
@ph0pzplanned timeline for each plan
The following tasks must be finished
Receive the enrollment information from the database and analyse them, then save the suggestion result in the database. (The database schema for suggestions will be added later)
Make an API GET route that returns the suggestion result to the frontend. The response may be a JSON object that the web server can understand.
app.py
but to put things in separate files. Consider Separation of Concerns/api/student/browse_course
Assignee: add yourself here
Description: This route sends a list of available courses to users. This route corresponds to the Search page.
Params:
q=[keywords to search]
(optional): a query text that a user may input in the search box.init=1
(optional): a flag whether should we return a predefined list of courses regardless of the enrolled courses. This param must come with the exact value 1
, or it would get rejected as if such the param had not been sent.Response:
q
exists, respond with the order based on relevance instead — without using the user's enrolled courses to determine the order. However, the student'sinit=1
exists, use the predefined plan — the exact same as the ones written by the department of CS. init
will ignore any other params, especially q
if we provide one. This param must come with the exact value 1
, or it would get rejected as if such the param had not been sent.Response Format
{
"status": 200,
"msg": "OK",
"data": [
{
"course_id": [string of 6-digit course ID],
"course_name_th": [string of course name in Thai],
"course_name_en": [string of course name in English],
"possible_category": [
{
"cat_id": [integer id of the category],
"cat_name_th": [category name in Thai],
"cat_name_en": [category name in English],
"cat_abbr_th": [abbreviated name in Thai],
"cat_abbr_en": [abbreviated name in English]
},
// ...
]
},
// ...
]
}
Note: params are pairs of a key and a value appending at the end of URLs following the ?
symbol. For instance,
http://localhost:8000/myroute?a=5&b=2
has 2 params: a
with value 5
, and b
with value 2
.
An API that manages the enrollment history of students, will be essential for the suggestion.
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.