Skip to content

karaelf33/ComputerScienceStudentsSummerHomeWork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

Computer Science Students Summer Home-Work

If you are a Computer Science student and want to improve your programming skills, you can start this project. This project will help you to improve your programming skills. You can do this project in your summer holiday. Reach me out, I will follow you, and help you to improve your programming skills. I will update the README.md file from time to time. You can follow the README.md file for the project requirements. If you have any questions for me or https://github.com/serhatbsts/ you can ask.

List of developer students participating in the program:

AccountManager

Project Definition: The user has an account for managing his economy, he can see his balance, transactions, and other information about his account.

  • The User can see his account information in the account page. For example, when the user triggers this api: getAccountInfo, he will get his account information. Money in the account, and other information about his account. -Create, Edit, Delete, and update user info.

  • Add account, delete account, update account.

  • Add money to his account, and withdraw money from the account.

  • Add the required APIs for the above requirements

  • Keep simple,

  • Create two tables, one for user, one for account. Keep OneToOne relation between them User and Account.

https://www.baeldung.com/jpa-one-to-one

https://www.youtube.com/watch?v=Svpcn5wJ8CU

https://www.youtube.com/results?search_query=one+to+one+relationship+hibernate

  • Use whatever database you want.

  • Use spring boot, spring data jpa, hibernate, mysql, lombok, swagger, spring boot test, junit, mockito, mapstruct, etc.

https://www.youtube.com/watch?v=aariHjpng90

  • Dockerized the application. Create a docker file for the application.(Important: First you need Dockerized the app)

https://www.docker.com/blog/kickstart-your-spring-boot-application-development/

https://www.youtube.com/watch?v=3SNKdr3f9Io

https://www.youtube.com/watch?v=MV4o_b6vt0g

https://www.youtube.com/watch?v=cH5FRwR0fC4

  • Create a README.md file for the application. Write the steps for running the application, and the APIs for the application.

  • Follow Clean Code principles.

https://www.youtube.com/watch?v=7m88T8-96X4

https://app.pluralsight.com/library/courses/java-se-17-best-practices/table-of-contents

https://app.pluralsight.com/paths/skill/java-coding-practices

https://medium.com/free-code-camp/the-junior-developers-guide-to-writing-super-clean-and-readable-code-cd2568e08aae

https://www.freecodecamp.org/news/clean-coding-for-beginners/

https://www.youtube.com/watch?v=DoK3-9V5HRE

https://www.youtube.com/watch?v=q2B8iI68mhI&list=PLzJgCLOkO5X05JOnHoAbt4ge8alnRs9n1

  • Follow Solid principles.

https://www.youtube.com/watch?v=xk_q9PbJdK4&list=PLlekUqrQSpoKlmjb0ZQHm1MDT0zTrf_0b

https://www.youtube.com/watch?v=jpjHLYVTo-M&t=466s

https://www.youtube.com/watch?v=VVRCrZsvtP8

https://www.youtube.com/watch?v=gdjcKwWxe08

https://www.youtube.com/watch?v=pdtpWYNBzqM

https://www.designgurus.io/answers/detail/SOLID-design-principles?gad_source=1&gclid=CjwKCAjwrvyxBhAbEiwAEg_KghHhNQnTZ5eqEyzNx7Inh0o4w0sOQ8r6CdTzt8bpxVL_jFwMmSSBNRoCFt0QAvD_BwE

- Use git for version control. Create a repository in GitHub, and share the link with me. Use branches for development,and create a pull request to master branch for review. Send me the PR link for review. Without PR and review you can't merge to a master branch. Follow the review comments

  • Follow clean git history for the project. Write good commit messages. Make sure that the commit messages are clear and understandable.

  • Use the best practices for the project. Use the best practices for the project structure, naming conventions, etc.

  • Unit test the application. Write unit tests for the application. Use Junit, Mockito,AssertJ for unit testing. and add Integration test the application.(Integration Test is optional-However it would be nice if you can add integration tests)

https://www.youtube.com/watch?v=u6QfIXgjwGQ

https://www.youtube.com/watch?v=Geq60OVyBPg

https://www.youtube.com/watch?v=jqwZthuBmZY&list=PL82C6-O4XrHcg8sNwpoDDhcxUCbFy855E

https://www.youtube.com/watch?v=vZm0lHciFsQ

https://www.youtube.com/watch?v=Zi67qUHbq-c

https://www.youtube.com/watch?v=uMs4cLytLdw

https://www.youtube.com/watch?v=p71it7RcXtU

https://www.youtube.com/watch?v=UgXiWwb47VA

https://www.youtube.com/watch?v=YJ5APRPHNfs

https://www.youtube.com/watch?v=erp-7MCK5BU

https://www.youtube.com/watch?v=41Ry2ojnJFM

https://www.youtube.com/watch?v=vCODdVCvrxc

https://www.youtube.com/watch?v=60F8rzP5nQo

https://www.youtube.com/watch?v=SBeG6cl8BlA

  • Use Swagger for API documentation. Create a swagger documentation for the application.

  • Occasionally you can meet with me to discuss the project.

  • You can ask any question about the project.

  • End of project you should present the project to me. 10-15 min presentation with english language.

  • End of project we can discuss to add new features to the project.

Releases

No releases published

Packages

No packages published