URI shortener app, created using JavaScript stack.
User Stories | Tools Used | Install & Build | Demo
The application does not use authorization, tracking users by sessions. Redirects are cached in Redis. Sessions and other data are removed within 24 hours after creation.
- [+] As a user I can see home page with a form
- [+] As a user I can create a shorten URIs
- [+] As a user I can shoose a subpart for the URI
- [+] As a user I can see an error if the subpart has already taken
- [+] As a user I can visit "My links" page to see a list of shorten URIs
- [+] As a user I will be redirected to the original URI after clicking the shorten URI
- React library
- Next.js the React framework
- Styled jsx CSS-in-JS
- Docker
- Webpack module bundler
- ESLint linter with [Airbnb's config]
- Babel.js compiler
- Storybook a user interface development environment and playground for UI components
npm installYou can find a .env.example file in the root directories for the client and the server as a starting point. You can copy the content of this file to .env and add your own values.
touch .envcd client
npm run storybookUsing docker:
docker-compose upOpen http://localhost:3000 to view app in the browser. The API will be available at http://localhost:3001.
You can also use npm scripts to start the project. You can find them in package.json files
It builds production bundle, uglifies JS, minifies CSS.
docker-compose -f docker-compose.yaml -f docker-compose.prod.yaml upYou can also use npm scripts without Docker
The demo is temporarily deployed on Digital Ocean using their paid plan thus it may happen that you do not find a working application at the link.
The master branch is the main branch where the source code always reflects the current production release.