Adonis rally is a forum created using VueJs and AdonisJs. The API of the framework is written is Adonis and checkout the rally-frontend repo to grab the VueJs code.
Work in progress
- Show a list of questions on the homepage.
- Ability to filter questions. Based upon channel and author.
- Ability to sort by Latest, Popular.
- Ability to create new questions.
- Registration/Login.
- Email verification.
- Password reset.
- Profile management.
- Post answers to questions.
- Choose favourite answer.
Setting up the project is quite easy. Start by cloning the repo.
git clone https://github.com/adonisjs/adonis-rally
Make install will perform all the require steps to setup the application for you.
make install
npm run dev
Tests are divided into multiple categories with Unit and Functional tests. Unit tests
tests the isolated Repositories/Services, whereas Functional tests
comes from outside in to test the controllers/routes.
Testing environment is configured with the help of .env.test
file. You are free to add/modify any variables here and they will be picked while running tests.
To run all tests
npm run test
To run unit tests
npm run test -- --filter=unit
To run functional tests
npm run test -- --filter=functional
To setup the project for first time. It will run following commands
- Copy .env.example to env
cp .env.example .env
. - Install package from npm.
npm install
. - Run all migrations.
node --harmony_proxies ace migration:refresh
- Seed database with a dummy user and channels.
node --harmony_proxies ace db:seed
Update the project by removing and re-installing all dependencies and re-running migrations.
🔥 update
command will clear the database entries, so make sure you run it carefully.
Feel free to fork and work on the missing parts of the application and create a PR for same. Make sure to work on small pieces of code with decent testing coverage before creating a PR.
- User Registeration/Send Verification Email
- Email verification
- Re-send verification email
- Login
- Create a new question (when loggedin)
- Paginate questions on the homepage.
- Sort questions by latest and popular on homepage
- Filter questions by author/channel.
- Update question (when loggedin and question owner)
- Delete question (when loggedin and question owner)
- View a single question.
- Add answer to a given question (when loggedin)
- Paginate answers on a given question.
- Edit/Update answer (when loggedin and answer owner)
- Delete answer (when loggedin and answer owner)
- Mark answer as a best answer.