Project Tenjin is a wannabe social media platform designed for developers, inspired by the Japanese god of learning and scholarship. Our goal is to create a space where programmers and designers can connect, share their skills, discuss tools and frameworks, and find job opportunities.
This project is built with an ASP.NET Core Web API backend, an Angular frontend, SQL Server for data storage, Entity Framework as an ORM, and xUnit, Mock and FluentAssertions for unit testing.
- User authentication and registration
- Profile creation and editing
- Post creation
- User follow
- Feed
Before you start, make sure you have the following software installed:
- Clone the repo:
git clone https://github.com/vekt0R-HUB/Project-Tenjin.git
- Change directories to the repo folder and restore dependencies:
cd Project-Tenjin
dotnet restore
-
Update the connection string in
appsettings.json
to point to your SQL Server instance. -
Change directories to the
SocialMediaRepositories
and apply the database migrations:
cd SocialMediaRepositories
dotnet ef database update
- Change directories to the
SocialMediaUi
folder and install dependencies:
cd ../SocialMediaUi
npm install
- Start the backend server from the
SocialMediaRepositories
folder:
dotnet run
- Start the frontend server from the
frontend
folder:
ng serve
- Open your browser and navigate to http://localhost:4200 to access the application.
To run the unit tests for the backend, change directories to the SocialMediaApiTesting
folder and run:
dotnet test
We appreciate any contributions to Project Tenjin! To contribute, please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/YourFeature
) - Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin feature/YourFeature
) - Open a pull request
- Commenting on posts
- Liking and sharing posts
- Real-time chat and messaging
- Job posting and searching
- Skill, tool and framework tagging
- Notifications
- Implementing user groups and communities
- Enhancing real-time chat with group chats and voice/video calls
- Integrating with popular developer tools and platforms (GitHub, GitLab, Bitbucket, etc.)
- Adding a built-in code editor and collaboration features
- Gamification: badges, points, and leveling system
- Advanced search and filtering options for job postings
This project currently doesn't have a license so use it as you like !!