Skip to content

mahmoudabdelnaser01/PersonalChallengePlatform

Repository files navigation

PersonalChallengePlatform

A web application for tracking personal challenges, progress, and achievements. Built with ASP.NET Core (.NET 8), Entity Framework Core, and SQL Server.

🚀 Features

  • User registration and authentication
  • Create, edit, and delete personal challenges
  • Track daily progress for each challenge
  • Leaderboard and user statistics
  • Profile picture upload and user settings
  • Category management for challenges
  • Responsive and modern UI (Bootstrap, Font Awesome)
  • Multi-language support (English/Arabic)
  • Secure password management and user claims

🛠️ Getting Started

Prerequisites

Setup Instructions

  1. Clone the repository:
    git clone <your-repo-url>
    cd PersonalChallengePlatform
  2. Restore dependencies:
    dotnet restore
  3. Configure the database:
    • Edit appsettings.json and set your SQL Server connection string.
  4. Apply migrations and update the database:
    dotnet ef database update
  5. Run the application:
    dotnet run --project PersonalChallengePlatform/PersonalChallengePlatform.csproj
    The app will be available at http://localhost:5000 (or the port specified in Program.cs).

👤 User Management

  • Register a new user via the Register page.
  • The first name and last name are required and will be shown in the top bar.
  • Profile pictures can be uploaded from the Settings page. A default avatar is used if none is uploaded.
  • User claims (such as FirstName) are automatically added on registration and login.

🗄️ Database & Migrations

  • Uses Entity Framework Core with code-first migrations.
  • To add a new migration:
    dotnet ef migrations add <MigrationName>
    dotnet ef database update

🖼️ Profile Pictures

  • Uploaded profile pictures are stored in wwwroot/uploads/profiles.
  • Default avatar is served from wwwroot/images/default-avatar.jpg (or .svg).

🏆 Leaderboard

  • The leaderboard ranks users by points and completed challenges.
  • User avatars and names are displayed for a personalized experience.

🌐 Multi-language Support

  • The platform supports both English and Arabic for a wider audience.

🐞 Troubleshooting

  • If you see 404 errors for avatar images, ensure the default avatar file exists in wwwroot/images.
  • If the user's first name does not appear, log out and log in again to refresh claims.
  • For database issues, ensure your connection string is correct and SQL Server is running.

🤝 Contributing

Contributions are welcome! Please open an issue or submit a pull request.

Made with ❤️ by Mahmoud Abdel Nasser

About

A modern web platform built with ASP.NET Core MVC and Entity Framework for creating, tracking, and achieving personal challenges. Features include user registration, progress tracking, leaderboards, and profile management.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors