This is a simple implementation of Lightning Talk Polling. The main purpose is to demonstrate the project development process and individual capabilities. As a result, details such as user experience, error handling, and testing may not be complete. But any suggestion is welcome.
More Info
Instead of implementing a user system, the program uses a simple user field to represent users
Unlimited click to increase the number of polls in order to test the sorting function
The back end uses the NestJS framework and SQLite as the database
The program was tested in the following environment
macOS Big Sur 11.2 / Ubuntu 20.04.4 LTS
node v16.14.0
yarn 1.22.17
Get Started
To initialize and start the project, simply execute one command in the project root
make boot-dev
And wait on - until the server logs appear, like this
If there are no errors, you should see the home page of this program, which by default has no data. We can also initialize and start the project with some seed data, just use this command instead
make boot-seed-dev
After that, use the command below for daily development
make start-dev
For more commands, see the Makefile file in the root directory.
Testing
In terms of testing, I did only the necessary testing required by the user story, and ideally the testing should cover all branches of logic.
To run all tests
make test
Docker
Using Docker is also possible (require docker-compose)
# initialize and run the project in container, for dev mode only
docker-compose up
Due to docker file system conversion issue under macOS, project initialization could be slow and requires patience 😕
Introduction
This is a simple implementation of Lightning Talk Polling. The main purpose is to demonstrate the project development process and individual capabilities. As a result, details such as user experience, error handling, and testing may not be complete. But any suggestion is welcome.
More Info
NestJS
framework andSQLite
as the databaseThe program was tested in the following environment
Get Started
To initialize and start the project, simply execute one command in the project root
And wait on - until the server logs appear, like this
Then you should be able to open this address in your browser: http://localhost:3000
If there are no errors, you should see the home page of this program, which by default has no data. We can also initialize and start the project with some seed data, just use this command instead
After that, use the command below for daily development
For more commands, see the
Makefile
file in the root directory.Testing
In terms of testing, I did only the necessary testing required by the user story, and ideally the testing should cover all branches of logic.
To run all tests
Docker
Using Docker is also possible (require
docker-compose
)