A sample web solution which allows users to review restaurants, featuring:
- A multi-project React app for a responsive mobile-first frontend ("webapp"), and an admin-panel (React-Admin)
- A Python/Django RESTful API running using a postgres database (on AWS RDS)
- Amazon Web Services hosting components on Elastic Container Service
- Continuous Integration (CI) using CircleCI and Continous Deployment (CD) using AWS CodePipeline
Project homepage: bng.damodar.dev
Frontend: app.bng.damodar.dev
Admin-Panel: admin.bng.damodar.dev (username: admin
, password: i_like_bars_and_i_cannot_lie
)
Django API: api.bng.damodar.dev (Swagger specs)
Source Code: on GitHub
- A multi-project create-react-app for mobile-first frontend ("webapp"), and an admin-panel (React-Admin)
- Responsive Material UI with pixel-perfect designs
- Strong typing using TypeScript and
eslint
- React Hooks
- The two projects hosted as isolated docker containers in ECS, both running using nginx
- Role based authentication using JWT for stateless paginated RESTful API calls
- Hosted as isolated docker container in ECS with auto-scaling
- Postgres database
- Swagger specifications
- Postman routes
- Partially set up using Terraform (intending to migrate all config to Terraform)
- CodePipeline to:
- Automatically trigger build on pushing source code in CodeCommit
- Build docker containers for webapp, admin-panel and api and push them to ECR
- Elastic Container Service cluster (like Kubernetes)
- All resources running on a private cloud (VPC) located in
us-west-2
(Oregon) - Route53 domain zone for
bng.damodar.dev
- Certificates managed through ACM
Free and open source software (FOSS) licensed using the MIT License.
This project was created by Damodar Dahal [email protected]. All pull requests and issues are welcome.