Vamalaka - E-commerce international trading platform that helps people in Madagascar sell their products globally. It follows "Direct to Consumer" bussiness model
As an implementation technology we have chosen: TypeScript, React, Redux, Redux Tool Kit, Cypress for integration testing. Containerized backend that exposes GraphQL interface, MongoDB, NodeJS
docker and docker-compose installed on your machine
cd server
- build the project using
$ sudo docker-compose build
$ sudo docker-compose up
Or both
sudo docker-compose up --build
your GraphQL project will run on http://localhost:4000/graphql
-
admin-mongo interface will be displayed on http://localhost:8082/
-
add a random name to your connection and in the field connection string put the following connection string (mongodb://mongo/myappdb)
After launching docker containers
To archive: open a new terminal window and navigate to root project folder
sudo docker exec graphqlmongo sh -c 'exec mongodump -d myappdb --archive' > ./server/migrate/all-collections.archive
To restore:
sudo docker exec -i graphqlmongo sh -c "mongorestore --archive" < ./server/migrate/all-collections.archive
In the project directory, you can run:
To install all required packages
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
To run ui integration tests
Run storybook