# simple-bbs **Repository Path**: greenlaw110/simple-bbs ## Basic Information - **Project Name**: simple-bbs - **Description**: 一个编码挑战项目 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.oschina.net/question/253880_2233645 - **GVP Project**: No ## Statistics - **Stars**: 16 - **Forks**: 4 - **Created**: 2017-03-08 - **Last Updated**: 2021-12-24 ## Categories & Tags **Categories**: bbs **Tags**: None ## README # Simple BBS ## Live demo site [http://simple-bbs.actframework.org](http://simple-bbs.actframework.org) ## Background The project is created to finish the [coding challenge](https://www.oschina.net/question/253880_2233645) I've raised to [@AutoPlus](https://my.oschina.net/itulayangi). I've also use this project to demonstrate on the following features of [ActFramework](http://actframework.org): 1. Login/SignUp user with Social connection, specifically github in this project. However it's a matter of configuration to get the project working on other social channels including LinkedIn and Facebook. 2. Authentication/Authorisation/Auditing with [Act-AAA](https://github.com/actframework/act-aaa-plugin) 3. CRUD form with Post/Update/Delete and data validation 4. The expressiveness of ActFramework. It takes only 281 lines of Java code to implement this project. ## Known issues See https://git.oschina.net/greenlaw110/simple-bbs/issues ## Requirement 1 It shall allow user to register/login to the system through Github oauth service 2 It shall be able to display user's github profile 3 It shall allow user to publish a message 4 The message must have the following fields * title * body * author * date time 5 It shall be able to display a message detail including title, body, author and time 6 It shall display message list 7 It shall allow author to edit message including title and body 8 It shall allow author to delete message he/she published ### non-functional requirements * No requirement on styling. Just keep it simple. * Session expiration time is 60s. Every request shall update the expiration time. * No requirement on database. Choose whatever you want. But data must be persistent * No need to CSS just use standard HTML element is enough. List shall use `