closed carrot: amarillo's tech hub website
- Node with Express for API
- MongoDB and Mongoose for database and modeling
- React with Vite tooling for UI
- Vitest for unit testing
- TailwindCSS for rapid styling
- GitHub Actions for CI/CD
- SwaggerDocs for API documentation
- React Query for data fetching on React
- react-icons for icons
- adminJS for CRUD operation dashboard
staging/dev environment
https://closed-carrot.jaw.dev/
install docker
https://www.docker.com/
copy contents inside of .env.example
into .env
$ cp .env.example .env
run project
$ docker compose up
wait until you get the following messages.
app | [EXPRESS] db connection started!
app | [EXPRESS] Express server is running at http://localhost:8080
visit project at
http://localhost:8081 # with hmr
for react built dist with express serving the dist files as static (will be used for prod)
http://localhost:8080
for real time reloading when any css or api file changes (highly recommended)
http://localhost:8081
for api documentation
http://localhost:8080/docs/api/
admin panel for CRUD operation
http://localhost:8080/admin
for local mongodb UI
http://localhost:8082
for email testing
http://localhost:8025
to start docker containers with output
$ docker compose up # make up
to start docker containers without output
$ docker compose up -d # make up-d
to stop docker containers
$ docker compose down # make down
to view docker containers log (previously must run docker compose up -d
)
$ docker compose logs -f # make log
to clean remove docker containers
$ docker compose down --rmi all # make clean
to run tests
$ docker compose exec app npm run test # make test
to run lint
$ docker compose exec app npm run lint # make lint
to run formatting code
$ docker compose exec app npm run format # make format
Online PNG compression
https://www.freeconvert.com/compress-png
Distributed under the MIT License © wajeht. See LICENSE for more information.