Tilli Assessment is an open-source Next.js application for conducting interactive emotional assessments in a child-friendly interface. It uses Appwrite for authentication and data storage.
- Features
- Prerequisites
- Local Setup
- Available Scripts
- Environment Configuration
- Testing and Linting
- Contributing
- Community
- License
- Built with Next.js 14 and TypeScript
- Tailwind CSS for styling
- Appwrite for authentication and database
- Interactive, multi-step assessment flow
- Responsive design for desktop and mobile
- Node.js >= 20.x (recommend using nvm)
- npm, yarn, pnpm, or bun
- An Appwrite account with:
- A project created
- A database containing two collections:
- Participants
- Assessments
- Clone the repository:
git clone https://github.com/<owner>/tilli-assessment-tool.git cd tilli-assessment-tool
- Install dependencies:
npm install # or yarn install # or pnpm install
- Create a
.env.localfile in the project root with the following content:NEXT_PUBLIC_APPWRITE_PROJECT_ID=<Your Appwrite Project ID> NEXT_PUBLIC_APPWRITE_DATABASE_ID=<Your Database ID> NEXT_PUBLIC_APPWRITE_PARTICIPANTS_COLLECTION_ID=<Participants Collection ID> NEXT_PUBLIC_APPWRITE_ASSESSMENTS_COLLECTION_ID=<Assessments Collection ID>
- Start the development server:
npm run dev
- Open http://localhost:3000 in your browser.
In the project directory, you can run:
npm run dev: Runs Next.js in development modenpm run build: Builds the app for productionnpm run start: Starts the production servernpm run lint: Runs ESLint checksnpm run lint:fix: Auto-fixes lint issuesnpm test: Runs the Jest test suite
| Variable | Description |
|---|---|
| NEXT_PUBLIC_APPWRITE_PROJECT_ID | Appwrite project ID |
| NEXT_PUBLIC_APPWRITE_DATABASE_ID | Appwrite database ID |
| NEXT_PUBLIC_APPWRITE_PARTICIPANTS_COLLECTION_ID | Appwrite participants collection ID |
| NEXT_PUBLIC_APPWRITE_ASSESSMENTS_COLLECTION_ID | Appwrite assessments collection ID |
- Jest for unit and integration tests
- React Testing Library for component testing
- ESLint and Prettier for code quality and formatting
On every push or pull request to main, GitHub Actions runs the test suite with coverage and uploads a full HTML coverage report as an artifact.
To download the coverage report:
- Go to the Actions tab of this repository.
- Select the latest CI workflow run.
- In the Artifacts section, download coverage-report (contains the HTML report).
We welcome contributions from the community:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature. - Make your changes and commit:
git commit -m 'Add new feature'. - Push to your branch:
git push origin feature/your-feature. - Open a Pull Request against the
mainbranch.
Please ensure that your code follows the existing style guidelines and that all tests pass.
- Submit bugs and feature requests via GitHub Issues.
- Join discussions at GitHub Discussions.
- Connect with other contributors on our Discord (link pending).
This project is licensed under the MIT License - see the LICENSE file for details.