line-literal's People
line-literal's Issues
Async methods
- Avoid server blocking calls
- Change Service modules to async
- using
CompletableFuture
Event Maker
- user creates a group chat and adds the bot into group
- user indicates the date/time of the event
- bot looks through time slots of members in group
- bot lists out available time slots
Thanksgiving push
Ref #82
- Heroku will restart regularly, need to design other push event trigger
Course Name not replacing token
@data
is not being replaced
Thanksgiving Party
New requirement for Topic 3
- users will receive a thanksgiving party invitation poster in the chatbot daily (from 21 to 27 of Nov) until the user type "accept".
- Then he will need to enter what party snack he will bring. The bot replies either
1) Great, please prepare 5 people portion of that".
or
2) Someone is bringing that already, can you pick another one?"
(reply this if some other people pick that food already). - One day before the party a reminder should be sent to all people who is going.
For H-group you will need to allow an admin to upload the poster via LINE directly, with a special command that only avaliable to particular account. For non H-group, you can simply place the poster image as a static resource.
Weather Information
- Fetch weather info
- Integrate with API.AI for natural language responses
- Implement push notification service for weather changes
Master Controller
- Master controller for allocating processing service modules
- Possible implementations
- Keyword-based search
- API.AI context
Milestone 3
Milestone 3
- A github/bitbucket repository containing their code.
- Rational of change of architecture design, if any
- A LINE bot account ID that allows TA to test and grade.
- Test suites and the result.
- Documentation of their code (Javadoc)
- Evident of using project management software (waffle.io)
- Evident of fulfillment of the proposed feature
- Evident of fulfillment of the new client’s requirement
Format:
A single pdf that contains
-
A URL to their github/bitbucket repository containing their code. No any push is allowed after Nov 20 midnight.
-
A UML class diagram labeling your changes if any. If there is no change, paste the UML class diagram again. Either case, identify any design pattern you have used and briefly explain them.
-
QR code of your line bot. It is your responsibility to make sure it works during our grading.
-
Description on how you do the testing, how many test cases you have written and attach the test coverage reports. We recommend you use EMMA (http://emma.sourceforge.net/index.html) (Links to an external site.)Links to an external site. for running your test.
-
A URL link to your javadoc (html) which should also be included in your github.
-
Screen cap of project management tools and list out ALL functions you have used with this software management tool. You may use Trello or other software management tools
-
A feature table similar to milestone 2 that allows the TA to validate it. You should also include the new feature injected in milestone 1 in your table, even if you have not completed it.
Anonymous chat
- anonymous chat with other users
- store uid in MongoDB
- using push messages
Student societies
- Student societies information
- Link to their respective web pages
Course Review
-
User enters the course code that they would like to see the review of. (Search through the database and output the detail review)
-
User can create their own review of a course
Milestone 2
Milestone 2 (3/11/2017)
• Implement at least half number of features
TODO:
Society
Completed:
anonymous chat
translation
lift advising
course review
Weather (prototype)
• Architecture design in UML
- Draw.io
- Access in Google drive with [email protected]
• Evident of pull request, merge, commit log from bitbucket
- Screen cap from GitHub?
• Approval of change of requirement if any
Lift Advisor
- Route information to classrooms or specific locations
- lift advisor
KMB Information
- Fetch timetable from KMB
- push notifications on arrivals and departure
Course Timetable
- Import course timetable from SIS or phone calendar app
- Timetable reminder
URL Encoding for HTTP class
Small Talk
Default Callback when not calling service.
Waffle.io
- Project Management Software
- Waffle
Greetings
Push message for first joined user.
POST RequestMapping
- POST request handler for api.ai webhook
- uses
@RequestMapping
Text to Speech
- Text to speech service for voice messages
- Amazon Web Services
Lombok logger
- add lombok logger dependency
Image/ Sticker/ Emoji/ Voice handler
We need to at lest reply to stickers and emoji.
Memory Leak
Currently push notification cause error of "unable to open new thread" at around 25 minutes after deploy of server.
Work around is restarting server every 10 minutes.
We would need to open another server for pinging our real server.
JUnit Testing
We will need to implement unit tests on out service modules. I'll write a base class after finishing all feature bugfixes.
MongoDB Driver
- mongodb hosting by mlab
- Java helper
Server Side Push Messages
- push notifications from Heroku
- uid database
Urgent!!! Email from Kevin!
TODO:
Get Kevin to accept our invitation as an collaborator.
IMPORTANT!!!!!!!!!!!!!!!!!!
Crawler for Course Quota
- Crawl data from course quota website
- RegEx
Test cases with MongoDB
How can we connect to DB for test cases...? Or can we not connect to mongoDB to test the function which required a DB?
Yandex.api for Translation
- Add translation api into DialogFlow.
- Train translation api in DialogFlow
Course Quota
- fetch course quota and waiting list by course code
- using link
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.