Student's Log (Full-stack - Spring & React)
This is demo app called Student's Log to illustrate/practice my knowledge in full cycle of creating full stack app with Spring boot from the scratch. In this app, you can add, delete or edit student profile.
Project Diagram
Features
- Add or delete student, and see number of students
- Validate in front-end, back-end and in db level (DB Constraints)
- Client and Server side Error Handlings
Built With
- React.js - A JavaScript library for building user interfaces
- Spring Boot - an open source Java-based framework used to build stand-alone and production ready spring applications.
- Maven (frontend plugin) & Maven (resources plugin) - a build automation tool
- Docker - delivers software in packages called containers
- Jib - builds optimized Docker and OCI images for Java applications without a Docker daemon
- AWS - provides on-demand cloud computing platforms and APIs
- AWS Elastic Beanstalk - an easy-to-use service for deploying and scaling web applications
- PostgreSQL / Postgres - an open-source relational database management system emphasizing extensibility and SQL compliance
- Spring Data JPA - provides repository support for the Java Persistence API (JPA)
- AWS RDS - Relational Database Service (RDS) is a fully managed, open-source cloud database service that allows you to easily operate and scale your relational
- Continuous Integration & Continuous Delivery (CI & CD) with GitHub actions - makes it easy to automate all your software workflows, now with world-class CI/CD.
- Slack Webhooks - to post messages from apps into Slack
- [Testing] - to be implemented
- Ant Design - A design system for enterprise-level products.
- IntelliJ IDEA ultimate & JetBrains - the IDE for Spring development
- npm
- ES6
- JavaScript
- HTML/CSS
This course covers concepts such as:
- Spring Boot Backend API
- Frontend with React.js Hooks and Functions Components
- Maven Build Tool
- Databases using Postgres on Docker
- Spring Data JPA
- Server and Client Side Error Handling
- Packaging applications for deployment using Docker and Jib
- AWS RDS & Elastic Beanstalk
- Software Deployment Automation with Github Actions
- Software Deployment Monitoring with Slack
- Unit and Integration Testing (Not Implemented yet)
Live Demo
Video intro
Getting Started
To get a local copy up and running follow these simple example steps.
Setup
Step 1: git clone https://github.com/SarvarKh/full-stack-student-new.git
Step 2 - navigate to the cloned directory:
cd full-stack-student-new
Step 3 - run the server from your IDE:
run DemoApplication class (Main)
Step 4 - navigate to the src/frontend directory:
npm install
Step 5 - install npm pckage manager:
npm install
Step 6 - open the app in development mode:
npm start
Last step will open http://localhost:3000 to view it in the browser.
Authors
- GitHub: @SarvarKh
- Twitter: @KhalimovSarvar
- LinkedIn: @sarvar-khalimov
๐ค Contributing
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
Show your support
Give a
๐ License
This project is MIT licensed. My greetings and gratitude to the amigoscode team for their course where I could learn immerse number of knowledge about Spring boot and many more (click here to find out more).